copy vs strong properties 
我在iOS方面比较新鲜,我想知道我们什么时候应该在一个物业中使用copy,例如。
| 1
 | @property (nonatomic, retain) NSString* name; | 
VS
| 1
 | @property (nonatomic, copy) NSString* name;` | 
retain和copy有什么区别,我什么时候应该使用一个而不是另一个?
		
		
- 通常,我对nsstring、array和其他变量等对象使用retain。但是当我使用uiview的出口,或者任何一个uiviewcontroller的实例时,我会使用强大的。否则我真的不知道有什么区别。
- @arpitparekh strong==retain:stackoverflow.com/questions/7796476/…
- 但是,当我将uiviewcontroller作为变量时,我需要将其指定为强适当的,如果我将其设置为保留,那么我的应用程序将崩溃……此链接支持此功能。添加为子视图stackoverflow.com/questions/9144959/…
- @arpitparekh retain不再用于弧。你应该把它换成strong。
 
	 
| 1
 | @property (nonatomic, copy) NSString* name; | 
更好,因为NSString是不变的,它的子类NSMutableString是可变的。
只要你一直使用NSString,你就不会看到任何不同。但当你开始使用NSMutableString时,情况可能会变得不那么乐观。
| 12
 3
 4
 5
 6
 7
 8
 
 | NSMutableString *department = [[NSMutableString alloc] initWithString:@"Maths"];
 Person *p1 = [Person new];
 p1.department = department;
 
 //Here If I play with department then it's not going to affect p1 as the property was copy
 //e.g.
 [department appendString:@"You're in English dept."];
 | 
如果它被保留下来的话,它将改变江户十一〔10〕的部门。所以在这种情况下,最好有副本。
如果NSString是mutable那么它得到copied。如果不是,那么它就是retained。如果您将使用copy,那么将为字符串创建一个新的副本,从而也会产生不同的内存地址。但是,如果您使用retain,那么它将在相同的内存地址中,只有保留计数器才会更改。
		
		
- 当你说如果我nsstring物业在物业使用保留和使用当我在nsmutablestring我需要使用复制的权利吗?
- nsstring mutable是永远的。因此需要nsmutablestring…