0

objc_setAssociatedObject()으로 카테고리에 iVars을 추가 할 계획입니다. 그러나 objc_removeAssociatedObjects()에 연락하여 언제 제거 할 수 있는지 확실하지 않습니다.objc_setAssociatedObject를 사용하여 카테고리에 ivars 추가

카테고리를 사용하는 객체가 de-allocated 일 때 카테고리를 알 수있는 방법이 있습니까?

답변

2

self가 해제 될 때 자동으로 해제 후

objc_setAssociatedObject(self, &key, otherObject, OBJC_ASSOCIATION_RETAIN); 
// or OBJC_ASSOCIATION_RETAIN_NONATOMIC 

otherObject와의 연결을 설정합니다. (적어도 ARC를 사용한다면 수동으로 계산할 때도 마찬가지라고 생각합니다.)

을 제거하기 전에 objc_removeAssociatedObjects()을 명시 적으로 호출 할 필요가 없습니다 오브젝트가 할당 해제됩니다.