2022 / 10 / 07
OC @property 选项列表
一些常见的属性选项

// 摘抄自React-Core源码 RCTAccessibilityManager.h
// 基本都是用nonatomic 效率更高
/// NSDictionary NSArray都用copy
@property (nonatomic, copy) NSDictionary<NSString *, NSNumber *> *multipliers;
@property (nonatomic, copy, readonly) NSArray<RCTDevMenuItem *> *presentedItems;
// 不可变字符串也用copy
@property (nonatomic, copy) NSString *gender;
// block也用copy
@property (nonatomic, copy) RCTBubblingEventBlock onRNCSliderValueChange;
// 基本数据类型都用assign
@property (nonatomic, assign) BOOL isBoldTextEnabled;
@property (nonatomic, assign) NSUInteger maxReloadAttempts;
@property (nonatomic, assign) float step;
@property (nonatomic, assign) CGFloat blurRadius;
// 枚举也用assign
@property (nonatomic, assign) RCTResizeMode resizeMode;
// 代理一定只能用weak 也一定只能用assign
@property (nonatomic, weak) id<RCTExceptionsManagerDelegate> delegate;
// 普通对象用strong
@property (nonatomic, strong) NSURL *overrideBundleURL;
@property (nonatomic, strong) UIImage *trackImage;
@property (nonatomic, strong, nullable) UIColor *backgroundColor;
注意:
@property (nonatomic, copy) NSMutableArray *mArray;
这种声明真的是自己挖坑了;
你要的是可变对象,但是一 copy 就是不可变对象了,运行时会出问题的;