objc_setAssociatedObject недоступен в iOS?

Я пытаюсь добавить «свойства» в категории, используя API ассоциированных объектов.

objc_setAssociatedObject(self, &kIsAnimatingAssocObjKey, animating, 
OBJC_ASSOCIATION_RETAIN_NONATOMIC);

Xcode жалуется:

Неявное объявление функции objc_setAssociatedObject недопустимо в C99.

а также

Использование необъявленного идентификатора 'OBJC_ASSOCIATION_RETAIN_NONATOMIC'

Xcode 4.5.2, iOS SDK 6 с целью развертывания 6. Это не работает.

Ни в одной из статей об obj_assoc не упоминается, что я должен импортировать что-то особенное.


person openfrog    schedule 18.12.2012    source источник


Ответы (1)


Просто импортируйте заголовок времени выполнения:

#import <objc/runtime.h>

person Till    schedule 18.12.2012
comment
Ваш ответ был введен на 4 секунды раньше, поэтому я удалю свой (-: - person Martin R; 18.12.2012
comment
Спасибо! Есть идеи, как мы должны этому научиться? Документация Apple говорила. Теперь это просто говорит о структуре Objective-C - person user1055568; 31.10.2017