iOS修行---nonnull,nullable修饰

来源:互联网 发布:mac finder copy path 编辑:程序博客网 时间:2024/05/21 09:17

                      iOS修行---nonnull,nullable修饰

@property(nonatomic,strong,nonnull) NSString *n1;@property(nonatomic,strong,nullable) NSString *n2;-(NSString *)test:(nullable NSString *)n3;
简单理解,就是经过nonull修饰的n1不能被赋予nil,而nullable修饰的n2是可以为空的,如:

n1 = nil;这样Xcode是会warning的,而,n2 = nil;是可以滴

也可以如下,利用宏来大范围指定

NS_ASSUME_NONNULL_BEGIN@property(nonatomic,strong) NSString *n1;@property(nonatomic,strong,nullable) NSString *n2;-(NSString *)test:(NSString *)n3;NS_ASSUME_NONNULL_END

这样在BEGIN和END范围内的,都会被赋予nonnull,但也可以显示的指定nullable,如上,n1和n3是nonnull的,但是n2时nullable


3 0