0
我打算將iVars
添加到objc_setAssociatedObject()
的類別中。但是,我不確定何時撥打objc_removeAssociatedObjects()
來擺脫它們。使用objc_setAssociatedObject將ivars添加到類別
有沒有一種方法,類別可以知道何時使用它的對象已經de-allocated
?
我打算將iVars
添加到objc_setAssociatedObject()
的類別中。但是,我不確定何時撥打objc_removeAssociatedObjects()
來擺脫它們。使用objc_setAssociatedObject將ivars添加到類別
有沒有一種方法,類別可以知道何時使用它的對象已經de-allocated
?
如果設置與
objc_setAssociatedObject(self, &key, otherObject, OBJC_ASSOCIATION_RETAIN);
// or OBJC_ASSOCIATION_RETAIN_NONATOMIC
然後otherObject
關聯時self
被釋放時自動釋放。 (至少如果您使用ARC,但我認爲這也適用於手動引用計數。)
因此,您不必明確地調用objc_removeAssociatedObjects()
,除非您想要在刪除主體之前添加的對象對象被釋放。