我有一个应用程序,我将一个NSManagedObject与许多(更多30个)传递给UIViews。
我是使用assign
进行的。
我想知道它是否比传递2或3个属性(只有视图需要的属性)更昂贵?
我希望得到一个明确的解释:)。
由于 沙尼
答案 0 :(得分:1)
如果我正确理解了您的问题,您想知道仅传递NSManagedObject或NSManagedObject本身的值是否更昂贵。对象存储在堆内存中,并由其他对象作为内存地址(一个或两个字节)引用。除非你告诉它,它不会复制对象的副本。因此,如果您使用“强”,“分配”,“保留”等,则不会增加太多内存。如果使用“复制”,则会创建一个新对象,并且大部分也会复制原始对象中的所有内容。就内存而言,这将是昂贵的。所以我认为你可以毫不费力地在每个UIView中保存对NSManagedObject的引用。
HTH