copy
属性'属性的典型用例是什么?
我应该何时复制一些值而不是仅仅增加引用计数,因为它可以通过strong
属性实现?
答案 0 :(得分:1)
其他人之前已经回答过这个问题,所以我只想指出几个问题。
首先,Apple文档:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/EncapsulatingData/EncapsulatingData.html,搜索“复制属性维护自己的副本”
以下是各种属性属性的非常好的解释:Objective-C declared @property attributes (nonatomic, copy, strong, weak)
这个答案很好地解释了一个非常典型的用例以及为什么要使用副本:NSMutableString as retain/copy
然而,两者都没有提到块属性,并且你从不想要使用其他而不是copy
来阻止块(当然,假设你是'重新使用ARC,ARC甚至自动为你处理这个问题:
注意:您应该指定copy作为属性属性,因为a 需要复制块以跟踪其捕获的状态 原始范围。这不是你需要担心的事情 当使用自动参考计数时,会发生这种情况 自动,但它是属性属性的最佳实践 显示结果行为。有关更多信息,请参阅块 编程主题。