成都网站建设设计

将想法与焦点和您一起共享

Objective-C(14)Xcode7新特性-创新互联

  • nullability

    创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的禅城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

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类型,可读性不好的问题,并增加了合法性验证

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:Objective-C(14)Xcode7新特性-创新互联
当前网址:http://chengdu.cdxwcx.cn/article/csjjdc.html