안녕하세요 :) Zedd입니다. 오늘은...!! dynamicCallable 공부! dynamicCallable 🧑💻 Q : dynamicMemberLookup 이랑 비슷한 느낌... 🙋 A : 맞습니다..비슷한 친구입니다. [특징] ✔️ SE-0216 에서 처음 소개. Swift 5.0에서 구현됨. (참고 Swift 5.0 변경사항) (DynamicMemberLookup proposal - SE-0195 의 후속조치임) ✔️ 타입을 callable하게 만듬 # dynamicCallable 1. 만약 dynamicCallable을 "사용"하는 타입이 있다면, 2. 이 타입의 인스턴스를 호출할 수 있게 된다. 1. 만약 dynamicCallable을 "사용"하는 타입이 있다면, 바로 예제로 보겠습니다. ..
안녕하세요 :) Zedd입니다. 오랜만에 노래추천! 저스틴 비버 신곡! 뮤비보면서 눈물 줄줄..🥲 암튼 들으면서 dynamicMemberLookup정리 dynamicMemberLookup [특징] ✔️ SE-0195 에서 처음 소개. Swift 4.2에서 구현됨. (참고 Swift 4.2 변경사항) ✔️ class, struct, enum, protocol에 사용 가능 ✔️ subscript (dynamicMemberLookup :) 메소드를 구현해야함. dynamic / Member / Lookup 직역하자면 동적 / 멤버 / 조회인데.. 동적으로 멤버들을 조회할 수 있게 만드는 듯한..그런 느낌이 옵니다. 1. 만약 dynamicMemberLookup을 "사용"하는 타입이 있다면, 2. 이 타입은 런..
안녕하세요 :) Zedd입니다. 오늘은 Property Wrapper에 대해서 공부해보겠습미당 # Property Wrapper Swift 5.1에서 추가된 기능입니다. 직역하면 프로퍼티를 감싸는 그런 느낌인데..프로퍼티를 감싼다는게 어떤 의미일까요. 차근차근 알아보겠습니다. # 들어가기 전에 SwiftUI를 공부하신 분들이라면 @Published @Binding @ObservedObject @State 뭐 이런친구들을 보셨을텐데요. @State를 예로 들면.. @State private var isPlaying: Bool = false 이렇게 사용할 수 있을겁니다. 이런것들이 Property Wrapper에요! 아주 살짝 익숙해졌으면 다행입니다.. # 필요성 일단 이 Property Wrapper를 사..
안녕하세요 :) Zedd입니다. 오늘은 KVO에 대해서 공부! # KVO - Key-Value Observing의 약자 - 객체의 프로퍼티의 변경사항을 다른 객체에 알리기 위해 사용하는 코코아 프로그래밍 패턴 - Model과 View와 같이 논리적으로 분리된 파트간의 변경사항을 전달하는데 유용함 - NSObjec를 상속한 클래스에서만 KVO를 사용할 수 있음. 그럼 예제를 통해 보겠습니다. Key-Value Coding(KVC) / KeyPath in Swift에서 사용한 예제를 가져와볼게요. # Observing을 위한 Setup class Address { var town: String init(town: String) { self.town = town } } Zedd : 나는 town이 변경하는 걸..
안녕하세요 :) Zedd입니다. 오늘은 KVC에 대해서 공부해보겠습니다. # KVC - Key-Value Coding 의 약자 - 객체의 값을 직접 가져오지않고, Key 또는 KeyPath 를 이용해서 간접적으로 데이터를 가져오거나 수정하는 방법 - key는 String - key는 일반적으로 객체에 정의된 accessor method 또는 인스턴스 변수의 "이름" - key는 특정 규칙을 따라야함 - ASCII로 인코딩 되고, 소문자로 시작해야하며, 공백이 없어야한다. 예를들어 person객체에 address프로퍼티가 있고, address프로퍼티는 town프로퍼티를 가지고 있다고 생각해봅시다. id address = [person valueForKey:@"address"]; id town = [addr..
안녕하세요 :) Zedd입니다. 저번 글에서도 봤듯이, Swift 5.0부터 unowned가 Optional을 지원하게 되었습니다. unowned는 weak와 달리 참조하는 인스턴스가 메모리에서 해제되어도 자동으로 nil로 만들어주지 않기 때문에 Optional을 지원하는게 딱히..와닿지는 않는데요. Swift공식문서에 있는 Unowned Optional References를 공부해보겠습니다. ⚠️주의 : 저도 이해하지 못한 부분이 있습니다. 읽으실 때 주의해주세요.⚠️ Unowned Optional References - ARC ownership model 측면에서 unowned optional reference와 weak reference는 동일한 컨텍스트 내에서 사용될 수 있음. 차이점 : unow..
안녕하세요 Zedd입니다. 그냥 갑자기 이런 의문이 들었어요. Strong Reference Cycle을 해결하는 방법이 weak와 unowned를 사용하는거잖아..weak는 진짜 많이 쓰는데 unowned는 진짜 한번도 안써본듯... unowned를 적재적소에 쓸 수 있다면 좋을텐데..!!! 그래서 unowned에 대한 고찰..이라는 제목으로 시작했지만 일단은 ARC에 대해서 정리를 한번 하고 가는게 좋을 것 같아서요 :D # ARC - Automatic Reference Counting의 약자 - Swift의 메모리 사용량 추적 및 관리 시스템. - ARC는 더이상 필요하지 않은 클래스 인스턴스를 자동으로 메모리에서 해제한다. Q : ARC는 특정 인스턴스가 더이상 필요하지 않군..을 어떻게 알아? ..
안녕하세요 :) Zedd입니다. 정렬 (2)에서 2가지 기준으로 정렬하는 것을 공부해봤는데, 오늘은 3가지 기준으로 정렬하는 법을 알아보겠습니다. 저번과 거의 비슷합니다. struct PullRequest { var title: String var createdDate: Date var approved: Bool var hasPriority: Bool } 다만 hasPrioirty 프로퍼티가 추가되었습니다. 정렬(2)에서 기준이 1. 오래된 순으로 정렬. 2. approve된것은 가장 하단에. 였다면 이번에는 조건이 하나 더 추가됩니다. 3. approve유무와 상관없이 hasPrioirty가 true면 가장 위로 보낸다. 입니다. let pullRequests = [ PullRequest(title: ..
- Xcode
- ios 13
- 제이슨 파싱
- 피아노
- SwiftUI
- UIBezierPath
- swift sort
- FLUTTER
- IOS
- github
- actor
- Swift
- Combine
- 회고
- swift delegate
- Accessibility
- WKWebView
- iOS delegate
- WWDC
- swift3
- WidgetKit
- 스위프트 문법
- swift array
- swift 공부
- fastlane
- np-complete
- Git
- np-hard
- swift tutorial
- 스위프트
- Total
- Today
- Yesterday