修饰

//设置属性不可为空,如果仍然想可为空,可以单独设置该属性
NS_ASSUME_NONNULL_BEGIN

@protocol XXXDelegate 
@end
//
@interface XXX : UIScrollView
@property (nullable, nonatomic,,strong) __kindof UIView *inputAccessoryView;
@end

NS_ASSUME_NONNULL_END
nullable
@property (nullable, nonatomic,,strong) __kindof UIView *inputAccessoryView;
nullable : 可以为空
nonnull
@property (nonnull, nonatomic, strong) UIView *inputAccessoryView;
nonnull : 修饰指针对象,不可以为空
null_resettableget
@property (null_resettable, nonatomic, copy) NSString *text;
null_resettableget : 不能返回空, set可以为空(注意:如果使用null_resettable,必须 重写get方法或者set方法,处理传递的值为空的情况)
_Null_unspecified
_Null_unspecified : 不确定是否为空
__kindof
@property (nullable, nonatomic, strong) __kindof UIView *inputView;
__kindof : 设置inputView可以UIView或者UIView的子类
__typeof
__typeof :(对应__kindof)返回制定类型

你可能感兴趣的:(修饰)