Objective-C(14)Xcode7新特性

nullability特性用来指明指针是否可以为nil,通过这种特性能够更清晰的表达API的意图。

同时编译器在编译时会对代码进行nullability检查,提示必要的警告。

使用时需要添加到NS_ASSUME_NONNULL_BEGIN … NS_ASSUME_NONNULL_END之间

     对象指针:nullable    nonnull       

     C指针: __nonnull    __nullable     __null_unspecified

     null_resettable 用于属性中,表示该属性的setter方法可以设置为nil,getter方法不会返回nil

  • 轻量级泛型

轻量是因为这是个纯编译器的语法支持(llvm 7.0),和 Nullability 一样,没有借助任何 objc runtime 的升级,也就是说,这个新语法在 Xcode 7 上可以使用且完全向下兼容(更低的 iOS 版本)

主要用在NSArray和NSDictionary容器中

     只存放字符串对象的数组对象:

     Objective-C(14)Xcode7新特性

     只存数值对象的字典对象:

     Objective-C(14)Xcode7新特性

自定义支持泛型的容器:

@interface Stack  :NSObject
- (void) pushObject:(StackType) obj;
- (StackType) popObject;
@end

  • __kindof

如:

__kindof AMPerson * p;

     用于表示该指针存储的是AMPerson对象或AMPerson子类的对象

解决了之前使用id类型,可读性不好的问题,并增加了合法性验证


网页标题:Objective-C(14)Xcode7新特性
文章起源:http://www.hxwzsj.com/article/jdeiei.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 手机网站建设 成都定制网站建设 响应式网站建设 外贸营销网站建设 公司网站建设 成都模版网站建设 企业网站建设 营销型网站建设 重庆网站设计 成都网站设计 LED网站设计方案 企业网站设计 网站建设方案 响应式网站设计 手机网站制作 成都网站建设推广 成都网站建设公司 专业网站设计 成都网站建设 成都品牌网站建设 四川成都网站制作 成都营销网站制作