官方SDK,对NSString属性的定义都是用copy,而不是retain,其实原因就是怕你赋值的是一个NSMutableString,而NSMutableString是可变的,如果是retain,那么当你在外面改变这个值的时候,你的属性的值也就变了; //用copy时 通过上图可以看出用copy时,name这个属性是没有改变的。。 //用retain时 此时name已经改变了。。。。