关于声明属性Strong还是Copy的用法
程序员文章站
2024-01-15 08:41:46
...
对于属性声明时,尤其是对NSString的声明,不知道该用strong还是copy,也不清楚二者之间具体有何区别?接下来,我将从两方面来介绍下strong和copy的区别,分别是可变和不可变。
1.操作不可变对象的时候:
// 定义一个Person类
@interface Person : NSObject
@property (nonatomic, strong) NSArray *array1; //strong 类型
@property (nonatomic, copy) NSArray *array2; //copy 类型
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableArray *testArr = [NSMutableArray arrayWithObject:@"test1"];
self.array1 =
testArr
self.array2 = testArr;
[books addObject:@"test2"];
NSLog(@"\n array1:%@ \n array2:%@",self.array1,self.array2);}@end