
소유권 수식어 Objective-C 다음과 같은 수식어를 사용 할 수 있다. __strong - 강한참조, 해당 수식어를 가진 포인터로 객체를 참조하게되면 retain count가 1증가한다. __weak - 약한참조, 해당 수식어를 가진 포인터로 객체를 참조하여도 retain count가 증가하지않는다. __unsafe_unretained - 약한참조, 해당 수식으를 가진 포인터로 객체를 참조하여도 retain count가 증가하지않는다. __autoreleasing - 오토릴리즈를 할 객체의 수식어로 붙혀준다. 예제 __strong id __strong obj1 = [[NSObject alloc] init]; id __strong obj2 = obj1; NSLog(@"log1:%@",obj1); NS..

위의 그림과 같이 프로토콜을 두개 만들어준다. MyProtocol이라는 protocol은 myVar라는 변수를 property로 가지고 있어야하며 myVar는 MyVarClassProtocol이라는 프로토콜을 채택한다. MyVarClassProtocol이라는 프로토콜은 name이라는 String타입 property가 있어야한다 이제 MyVarClass라는 MyVarClassProtocol을 채택하는 class를 만들어주고 MyClass라는 MyProtocol을 채택하는 class를 만들어주자. MyVarClass에는 name을 출력해주는 printName이라는 함수가 존재한다. MyClass를 마저 작성하려했더니.. ...안된다.. 에러메시지를 보니 MyClass가 MyProtocol을 준수하지 않았다고..

테스트 절차 1.) Objective-C로 만들어진 외부라이브러리를 전혀 쓰지 않는 Framework를 만들어준다. 나는 PureObjcFramework라는 프레임워크로 만들어주고 PureObjcClass라는 클래스를 생성 후 PureObjcTestFunc라는 테스용 함수를 작성해 주었다. 해당 함수를 실행시켜주면 NSLog(@"called pureObjcTestFunc"); 라는 함수가 실행되게 만들어 놓았다. github.com/HanweeeeLee/Framework_in_Framework_Sample/tree/main/PureFramework/PureObjcFramework HanweeeeLee/Framework_in_Framework_Sample Framework 안에 Framework를 넣어보자..

Swift에서 각종 기본컨트롤러를 이용하다보면 Delegate를 확장하고싶을때가 있다. 예를들면.. UITableView의 Delegate는 UITableViewDelegate라는 Protocol이고, UITableView는 UIScrollView를 상속받는다. UITableViewDelegate는 UIScrollViewDelegate라는 프로토콜을 따르며, 거기에 자신만의 요구하는 함수 프로토콜을 가지고있다. 그렇다면 저 UITableView처럼 UITableView를 상속받는 뷰컨트롤러를 만들고 UITableViewDelegate를 따르는 프로토콜을 만든 후 delegate를 그 프로토콜로 바꿔주면 되는거 아닌가?!?! import Foundation import UIKit protocol MyTab..
- Total
- Today
- Yesterday
- widget extension
- flatMap
- Tuist
- Swift 니모닉
- Objective-C
- 니모닉
- Fastlane
- Delegate
- 순환참조
- cicd
- arc
- ios
- Gitlab Runner
- isSecureTextEntry
- module map
- iOS wallet
- CI
- XCode Cloud
- Protocol
- SwiftUI
- associated type
- cd
- swift
- modulemap
- Secure Enclave
- firebase distribution
- iOS Mnemonic
- RxSwift
- XCodeGen
- iOS 니모닉
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |