什么是Swift1.2中可空性注释的默认值

时间:2015-02-14 14:51:25

标签: ios swift

从XCode6.3 beta开始,它引入了Objective-C的可空性,以简化swift和oc之间的互操作性,似乎有四种选择,即nonnull,nullable,null_unspecified和null_resettable。它们都可以应用于属性,参数和返回类型,但是如果你没有指定,那么默认值是什么。我猜是null_unspecified,但我想提前确认。谢谢。

1 个答案:

答案 0 :(得分:2)

除非您另行注释,否则所有指针都将被视为null_unspecified。一旦你开始注释,你就会开始收到关于该课程的警告,直到你注释了所有内容。您可以使用新的nonnull标记将代码块的默认值更改为#pragma

@interface MyObject : NSObject
#pragma clang assume_nonnull begin

// ...

#pragma clang assume_nonnull end
@end

请注意,null_resettable只能应用于属性,而不能应用于参数或返回类型。其目的是通过分配属性nil来重置属性 - 来自Apple的示例为tintColor,如果给出nil分配,则会返回默认值。