일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- tip
- designPattern
- OSLog
- pubspec.yaml
- toyproject
- reetcode
- flutter
- IOS
- dart
- Widget
- COMMIT
- Swift
- enumerations
- Leetcode
- github
- keyWindow
- Extentsion
- ToDoRim
- GIT
- basic
- it
- listview
- protocol
- swiftlint
- pubspec
- SwiftGen
- algorithm
- Equatable
- UIAccessibility
- xcode
- Today
- Total
목록iOS - Swift (47)
수니의 개발새발
📌 이번 글은 Identifiable 개념과 사용법입니다. Apple Developer iOS 13.0+ iPadOS 13.0+ macOS 10.15+ Mac Catalyst 13.0+ tvOS 13.0+ watchOS 6.0+ Xcode 11.0+ Identifiable은 Protocol Protocol은 특정 작업이나 기능에 적합한 메서드, 프로퍼티 및 기타 요구사항을 정의해주고, 이러한 Protocol은 class, struct, enum에서 채택하여 이런 요구사항을 실제로 구현할 수 있도록 도와줍니다. 즉, Protocol은 메서드, 프로퍼티 등을 정의만 하고, 이 Protocol을 채택한 곳에서 구현을 합니다. 먼저 Identifiable의 경우, 이미 애플에서 만들어 놓은 Protocol입니다..
📌 이번 글은 Equatable 개념과 사용법입니다. 개발을 하면서 자주 Equatable을 사용하는데.. 대충 == 사용하기 위해서 필요한 건 알겠는데.... 자주 쓰는 만큼 정확한 개념과 사용법을 숙지하는 게 좋을 것 같아 정리해봅니다. Apple Developer iOS 8.0+ iPadOS 8.0+ macOS 10.10+ Mac Catalyst 13.0+ tvOS 9.0+ watchOS 2.0+ Xcode 6.0.1+ Equatable은 Protocol Protocol은 특정 작업이나 기능에 적합한 메서드, 프로퍼티 및 기타 요구사항을 정의해주고, 이러한 Protocol은 class, struct, enum에서 채택하여 이런 요구사항을 실제로 구현할 수 있도록 도와줍니다. 즉, Protocol은 ..
튜플 Tuple 프로그래머 마음대로 만드는 타입 지정된 데이터의 묶음 튜플 예제 // String, Int, Double 타입을 갖는 튜플 var student: (name: String, grade: Int, score: Double) = ("suni", 2, 4.2) // 요소 이름을 사용해 값 사용 print("이름: \(student.name), 학년: \(student.grade), 학점: \(student.score)") // 요소 이름을 사용해 값 할당 student.grade = 3 // 인덱스를 통해 값 사용 print("이름: \(student.0), 학년: \(student.1), 학점: \(student.2)") // 인덱스를 통해 값 할당 student.2 = 4.3 튜플 별칭 지..
Any 스위프트의 모든 데이터 타입을 사용할 수 있다. AnyObject Any보다는 조금 한정된 의미 클래스의 인스턴스만 할당할 수 있다. ❗️Any와 AnyObject는 될 수 있으면 사용하지 않는 편이 좋다. ❓매번 타입 확인 및 변환을 해줘야 하는 불편함과 예기치 못한 오류의 위험을 증가시키기 때문 nil 특정 타입이 아닌 '없음'을 나타내는 스위프트 키워드 변수 또는 상수에 값이 들어있지 않고 비어있음을 나타냄 🙋🏻♀️ 참고 야곰, ⌜스위프트 프로그래밍: Swift5⌟, 한빛미디어(2019)
📌 이번 글은 Xcode 프로젝트에 SwiftLint 적용 방법입니다. 이번에 토이 프로젝트 리팩터링을 하면서 SwiftLint를 적용해보기로 했어요. 정말 유용해서 한번 익히면 자주 사용할 것 같아 적용 법도 정리해봅니다! SwiftLint - Swift 스타일 및 규칙을 적용하는 도구입니다. - 일반적으로 Swift 커뮤니티에서 허용되는 스타일 가이드 규칙을 적용합니다. 1. 프로젝트에 SwiftLint 설치 : pod 'SwiftLint' GitHub - realm/SwiftLint: A tool to enforce Swift style and conventions. A tool to enforce Swift style and conventions. Contribute to realm/SwiftLi..
String 문자열 String의 기본 기능 접두어 hasPrifix() let blog: String = "DevSuni Blog" print(blog.hasPrefix("Dev")) // true print(blog.hasPrefix("Suni")) // false 접미어 hasSuffix() let blog: String = "DevSuni Blog" print(blog.hasSuffix("Blog")) // true print(blog.hasSuffix("blog")) // false - 대소문자 구분 대소문자 변환 .uppercased() / .lowercased() let name: String = "suni" print(name.uppercased()) // SUNI let name: Str..
변수 (var) var [변수명]: [데이터 타입] = [값] 상수 (let) let [변수명]: [데이터 타입] = [값] 상수를 사용하는 이유는 가독성 - 상수는 차후 값의 변경을 신경 쓰지 않아도 된다는 것을 직관적으로 알 수 있다. 타입 추론 - 데이터 타입은 생략하면 스위프트는 타입을 추론하여 타입을 지정해준다. ❗️ 타입 지정을 권고! ❓ 처음부터 타입을 명시하는 편이 시간을 더 절약할 수 있다. - 타입 추론에 의지하여 코딩했을 때 발생하는 오류를 찾아내는 것 보다 타입추론은 컴파일에 더 오랜 시간이 걸릴 수 있다. - 컴파일러가 컴파일할 때 타입을 추론해야 한다. 🙋🏻♀️ 참고 야곰, ⌜스위프트 프로그래밍: Swift5⌟, 한빛미디어(2019)
📌 이번 글은 코드에서 Storyboard와 ViewController를 접근하는 방법입니다. 👩🏻💻 예제 storyboardName : Storyboard 파일의 이름 storyboardId : Storayboard > ViewController의 id 코드에서 ViewController를 참조해 화면 이동시키기. let storyboardName = "Main" let storyboardId = "MainVC" let sb = UIStoryboard(name: storyboardName, bundle: Bundle.main) let vc = sb.instantiateViewController(withIdentifier: storyboardId) // MainVC로 화면 이동 self.navigati..