OC @property 选项列表

一些常见的属性选项

image
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// 摘抄自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 就是不可变对象了,运行时会出问题的;


OC @property 选项列表
https://iplus-studio.top/2022/10/07/OC@property选项列表/
作者
邓伟彬
发布于
2022年10月7日
许可协议