(转)使用copy还是retain(浅显,知者勿看) strong copy retain

在我们的代码中,声明一个对象的属性的时候,如果希望保存这个对象,你会使用copy还是retain呢?当然,视情况而定是一定的,那么在什么情况下使用copy,什么时候使用retain呢?下面这段话说的清楚。
原文地址

For attributes whose type is an immutable value class that conformsto theNSCopyingprotocol,you almost always should specifycopyinyour@propertydeclaration.Specifyingretainissomething you almost never want in such a situation.

Here's why you want to do that:

NSMutableString *someName = [NSMutableString stringWithString:@"Chris"];

Person *p = [[[Person alloc] init] autorelease];
p.name = someName;

[someName setString:@"Debajit"];

The current value of thePerson.namepropertywill be different depending on whether the property isdeclaredretainorcopy—it will be@"Debajit"ifthe property is markedretain,but@"Chris"ifthe property is markedcopy.

Since in almost all cases you want topreventmutatingan object's attributes behind its back, you should mark theproperties representing themcopy.(And if you write the setter yourself instead of using@synthesizeyoushould remember to actually usecopyinsteadofretaininit.)

意思是如果你使用retain修饰name的时候,最后一个表达式会改变你之前设置的name的值。

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/257110.html

更多阅读

分享19个android手机常用软件,新手必看 新手司机上路必看

Android系统手机现在可以说是相当热了,但是很多新手不知道自己新买的手机里应该要装些什么样的软件,因为软件(应用)装太多了会影响手机运行速度,另外万一装到恶意软件还会造成手机里信息泄露等情况。百度经验不让放附件,所以大家到参考资

我心匪石,不可转也。我心匪席,不可卷也。 我心匪石 闲语

诗经·国风·邶风·柏舟泛彼柏舟,亦泛其流。耿耿不寐,如有隐忧。微我无酒,以敖以游。我心匪鉴,不可以茹。亦有兄弟,不可以据。薄言往诉,逢彼之怒。我心匪石,不可转也。我心匪席,不可卷也。威仪棣棣,不可选也。忧心悄悄,愠于群小。觏闵既多,受侮

转载 美华转:对李嘉诚,与其挽留不如目送

原文地址:美华转:对李嘉诚,与其挽留不如目送作者:美华博客3_0来源:人民日报 署名李克济这几天,亚洲首富李嘉诚深陷舆论漩涡,关于他从大陆撤资的争论,仍然在唇枪舌剑地进行着。是正常的运作,还是道义的失守?是合法的进退,还是无奈的撤离?义愤填

声明:《(转)使用copy还是retain(浅显,知者勿看) strong copy retain》为网友帅哥败在矮字分享!如侵犯到您的合法权益请联系我们删除