ios 9.0 이후에 추가된 키워드
공통 키워드:
1. nonnull \ __nonnull : setter getter nil
:
@property (nonatomic, strong, nonnull) NSArray *names;
@property (nonatomic, strong) NSArray * __nonnull names;
2. nullable \ __nullable: 이 속성은 setter와getter가 모두nil일 수 있음을 나타냅니다 사용 방법: @property (nonatomic, strong, nullable) NSArray *names; @property (nonatomic, strong) NSArray * __nullable names; 팁: 기본적으로 속성은nullable를 추가하지 않습니다.setter와getter도 모두nil일 수 있습니다.nullable를 추가하면 프로그래머 간의 의사소통에 더 많은 역할을 합니다. (동료에게 어떤 속성이nil일 수도 있음을 알립니다.)
3.null_resettable:setter는nil,getter는nil @property (null_resettable, nonatomic, strong) NSArray *names;
4.NS_ASSUME_NONNULL_BEGIN 및 NSASSUME_NONNULL_END 사이의 모든 속성은 기본적으로 nonnull입니다.
일반:
1. ,
@property (nonatomic, strong) NSMutableArray *names;
@property (nonatomic, strong) NSMutableDictionary *books;
2. 사용자 정의 범주 Bag *bag1 = [[Bag alloc] init]; [bag1 get:0]; Bag *bag2 = [[Bag alloc] init]; [bag2 get:0]; 다른 클래스 쓰기: @interface Bag<__contravariant objecttype=""> : NSObject - (void)add:(ObjectType)object; - (ObjectType)get:(int)index; @end
3. __covariant: 작은 유형(범형류의 하위 유형)->큰 유형(범형류의 부 유형)일 경우 보고하지 않습니다⚠️ __contravariant: 큰 유형 (일반 클래스의 부모 유형) - > 작은 유형 (일반 클래스의 하위 유형) 은 보고하지 않습니다.⚠️
__kindof
1. __kindof
: (NSString), (NSMutableString) ,
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.