我搜索了许多链接并阅读了很多文章,但我找不到确切的区别retain和assign..
我正在尝试以下方法:
NSMutableArray *arr1 = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3", nil];
NSMutableArray *arr2=[arr1 retain];
NSMutableArray *arr3 = arr1; //Assign
[arr1 addObject:@"66"];
NSLog(@"Array one : %@",arr1);
NSLog(@"Array two : %@",arr2);
NSLog(@"Array three : %@",arr3);
Run Code Online (Sandbox Code Playgroud)
输出:
Array one : (
1,
2,
3,
66
)
Array two : (
1,
2,
3,
66
)
Array three : (
1,
2,
3,
66
)
Run Code Online (Sandbox Code Playgroud)
以上示例给出了相同的输出.
考虑到上面的例子,我如何定义assign和之间的区别retain?
如果以上示例有错,请提供更好的示例提供答案.
memory-management reference-counting objective-c ios automatic-ref-counting