Gee*_*e.E 10 xcode objective-c
使用XCode 6.3,我注意到了一些属性属性,即:
nonnullnull_resettablenullable有人可以解释他们在申请时做了什么吗?
Gre*_*reg 11
Apple添加了两个新类型的注释:__nullable和__nonnull.__nullable指针可能具有NULL或nil值,而__nonnull指针不应具有.
正如你在swift中应该知道的那样,你可以使用选项(?)但是在Objective-C中你不能.这些属性允许您创建Objective-C代码,当您违反规则时,swift和编译器会更容易理解这些代码,例如:
@property (copy, nullable) NSString *name;
@property (copy, nonnull) NSArray *allItems;
Run Code Online (Sandbox Code Playgroud)
这将被迅速"翻译"为:
var name: String?
var allItems: [AnyObject]!
Run Code Online (Sandbox Code Playgroud)
这取自NSHipster:
nonnull:表示指针应该/将永远不会为nil.用nonnull注释的指针作为非可选的基值(即NSData)导入Swift.
nullable:表示在一般练习中指针可以为nil.导入Swift作为可选值(NSURL?).
null_unspecified:继续导入Swift的当前功能,作为隐式解包的可选项,理想情况下仅在此注释过程中使用.
null_resettable:表示虽然属性始终具有值,但可以通过分配nil来重置它.具有非零默认值的属性可以通过这种方式注释,如tintColor.导入Swift作为(相对安全)隐式解包的可选项.相应的文件!
| 归档时间: |
|
| 查看次数: |
2158 次 |
| 最近记录: |