iOS9关键字的简单实用
来源:互联网 发布:苹果手机的mac地址在哪 编辑:程序博客网 时间:2024/05/17 01:40
nullable表示可以为nil
nonnull表示不可以为nil
以上关键字仅仅修饰对象,不修饰基本数据类型。因此可以用在属性、参数、返回值。
默认情况下不加nullable,setter和getter都可以为nil。
@property (nonatomic, strong, nullable) NSArray *array;@property (nonatomic, strong) NSArray * __nullable array;@property (nonatomic, strong) NSArray * _Nullable array;
- (nonnull NSString *)testString:(nonnull NSString *)string;- (NSString * _Nonnull)testString:(NSString * _Nonnull)string;- (NSString * __nonnull)testString:(NSString * __nonnull)string;
NS_ASSUME_NONNULL_BEGINNS_ASSUME_NONNULL_END
null_resettable
getter不可以为nil
setter可以为nil
如果使用null_resettable必须重写getter或setter方法,其目的为处理值为空的情况。
@property (nonatomic, strong, null_resettable) UIView *testView;
泛型
使用泛型可以较为容易的获取到其中的元素,并访问特有的属性和方法,一般用于集合,方法调用时有效果。
//属性使用@property (nonatomic, strong) NSMutableArray<NSString *> *testArrayM;//在方法中使用- (NSArray<NSString *> *)testStringArray:(NSArray<NSString *> *)stringArray;
在集合中规定对象的类型,通过集合取出的对象可以当做泛型来使用,并可以直接使用.语法
协变和逆变
__covariant 协变,用于数据强制转换类型,子类转变为父类
__contravariant 逆变,用于数据强制转换类型,父类转变为子类
__kindof
表示当前类或它的子类
__kindof放在类型前,表示修饰此类型
用于解决id类型无法在返回值中具体体现其类型问题
- (__kindof NSArray *)testStringArray:(NSArray *)stringArray;
0 0
- iOS9关键字的简单实用
- iOS9关键字的简单使用
- iOS9的一些新的关键字
- iOS9 新特性关键字
- iOS9中spotlight的简单使用
- iOS9 升级后UIAlertController的简单使用
- iOS9通讯录框架Contacts的简单使用
- iOS9新增关键字和一些新特性的学习
- 简单实用的bugfree
- 简单实用的 .vimrc
- selenium的简单实用
- 简单实用的makefile
- ArrayList的简单实用
- 简单实用的分享
- wxTimer的简单实用
- GPUImage的简单实用
- UISearchBar的简单实用
- fastJson的简单实用
- Spring mvc实现文件上传
- uva 409 poj 1598
- 7.5个数求最值
- 静态块 静态方法 构造方法 普通方法 执行顺序
- 二分查找法
- iOS9关键字的简单实用
- 8.蛇形填数
- 面对对象总结
- ({}+{}).length
- 设计模式---行为类型---策略
- java旅行第四天--《一个都不能少》观后感
- JavaScript实用技巧
- 9.韩信点兵
- 结构可变数组