nullable、__nullable和_Nullable区别

在Objective-C中,nullable__nullable_Nullable用于Swift兼容的可选性注释。它们的作用都是指示某个类型的对象或值可能是nil(空值),同样也可以为空值的指针。

  • nullableObjective-C 2.0中引入的关键字,用于声明方法、属性和函数参数可能返回或接受nil值的情况。
- (nullable NSString *)getNullableString;

@property (nullable, weak) id<SomeDelegate> delegate;
  • __nullablenullable作用类似,它是为了兼容Swift而引入的。在Swift中,它的值可以为空(可选类型),而在Objective-C中它仅表示指定的类型可以为空。
- (NSString * __nullable)getNullableString;

@property (weak, nullable) id<SomeDelegate> delegate;

_Nullable是最新的关键字,是为了解决一些代码编辑器或编译器对nullable__nullable的错误提示。它等价于__nullable

总之,nullable__nullable_Nullable都是用来标记某个值的可选性,以便编译器和开发者可以更好地识别和处理空值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容