
아래 예제의 Rest API호출은 Moya를 사용하였습니다. 개발을 하다보면 다음과 같은 문제를 만날 경우가 많다. 요구사항: "A API를 호출 한 다음 응답으로 받는 Data a를 B API의 파라미터로 넣고 응답이 오면 응답을 화면에 뿌려주세요." 이 경우에 클로저를 사용해 해결 할 수 있다. func getSome(completion: @escaping (Int) -> Void) { getA { [weak self] resultA in self?.getB(param: resultA, completion: { resultB in completion(resultB) }) } } func getA(completion: @escaping (String) -> Void) { let provider = AP..

iOS 개발을 하다보면 자식객체에서 부모객체에게 메시지를 보내야 할때가 생긴다. 그럴땐 보통 delegate 패턴을 사용한다. class MySampleDelegateParentsClass: MySampleDelegateChildClassDelegate { var child: MySampleDelegateChildClass init() { self.child = MySampleDelegateChildClass() self.child.delegate = self } func sendMessage(foo: String) { print("recived: \(foo)") } } protocol MySampleDelegateChildClassDelegate: AnyObject { func sendMessage(f..

위의 그림과 같이 프로토콜을 두개 만들어준다. MyProtocol이라는 protocol은 myVar라는 변수를 property로 가지고 있어야하며 myVar는 MyVarClassProtocol이라는 프로토콜을 채택한다. MyVarClassProtocol이라는 프로토콜은 name이라는 String타입 property가 있어야한다 이제 MyVarClass라는 MyVarClassProtocol을 채택하는 class를 만들어주고 MyClass라는 MyProtocol을 채택하는 class를 만들어주자. MyVarClass에는 name을 출력해주는 printName이라는 함수가 존재한다. MyClass를 마저 작성하려했더니.. ...안된다.. 에러메시지를 보니 MyClass가 MyProtocol을 준수하지 않았다고..
- Total
- Today
- Yesterday
- 니모닉
- iOS Mnemonic
- swift
- Delegate
- iOS wallet
- Tuist
- Fastlane
- firebase distribution
- Gitlab Runner
- iOS 니모닉
- associated type
- cicd
- ios
- module map
- cd
- modulemap
- XCode Cloud
- isSecureTextEntry
- XCodeGen
- Swift 니모닉
- arc
- flatMap
- Objective-C
- RxSwift
- 순환참조
- CI
- Secure Enclave
- Protocol
- widget extension
- SwiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |