Iphone 如何理解哪些属性适合NSDictionary,例如保留或分配?
现在我使用Iphone 如何理解哪些属性适合NSDictionary,例如保留或分配?,iphone,objective-c,ios,properties,nsdictionary,Iphone,Objective C,Ios,Properties,Nsdictionary,现在我使用 @property (nonatomic, retain) NSDictionary *currentAttribute; 如果我使用copy或assign而不是retain,内存性能会有更大的差异吗?声明它copy将意味着您将获得一个全新的NSDictionary对象用于您的类。如果它是一个相当大的字典,这可能是一个性能的打击;不是很明显,但无论如何都很重要。通过retaining它,您只需为类提供指向相同NSDictionary实例的指针 如果NSDictionary自动删除,
@property (nonatomic, retain) NSDictionary *currentAttribute;
如果我使用copy或assign而不是retain,内存性能会有更大的差异吗?声明它
copy
将意味着您将获得一个全新的NSDictionary
对象用于您的类。如果它是一个相当大的字典,这可能是一个性能的打击;不是很明显,但无论如何都很重要。通过retain
ing它,您只需为类提供指向相同NSDictionary
实例的指针
如果
NSDictionary
自动删除,声明它assign
会使应用程序面临崩溃的风险。如果由于池将其保留计数减少到0,它最终在池中被释放,则您的类将无法再访问它,从而导致崩溃。retain
也称为strong
。如果有人在游荡,什么是strong
。