OC中NSString和block的属性时copy,而不用retain

OC中NSString和block的属性时copy,而不用retain   而容器类使用retain

NSString 为什么要使用copy,而不是retain  

1、首先如果使用retain,只是引用计数+1,并没有生成新的对象,所以效率好 

2、但是使用copy安全。因为NSStringNSMutableString 的基类,如果将NSMutableString retain的形式赋值给NSString后,后续修改NSMutableString会导致NSString内容的变化,这通常不是我们希望的,所以NSString要使用copy

你可能感兴趣的:(NSString)