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
本文介绍了iOS开发中nonnull和nullable修饰符的使用方法。nonnull确保属性不会被赋值为nil,而nullable允许属性为空。此外,还展示了如何通过宏NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END来批量设置属性的非空特性。
386

被折叠的 条评论
为什么被折叠?



