#objective-c #xcode #nsstring #properties
#objective-c #xcode #nsstring #свойства
Вопрос:
У меня была NSString с именем responseReference, которую я поместил в @property вот так…
@property (nonatomic) NSString *responseReference;
и я получил предупреждение:
No 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed
Assign attribute (default) not appropriate for non-gc object property 'responseReference'
Итак, чтобы просто исправить это, я изменил код на это:
@property (nonatomic, retain) NSString *responseReference;
но я все еще получал предупреждения. Я перепробовал много вещей и в конечном итоге попытался удалить предупреждения, просто удалив объект из существования. Но даже когда responseReference больше не был частью КАКОГО-либо из моих кодов, он все равно выдавал мне точно такое же предупреждение для responseReference. Итак, я перезапустил X-Code. Нет компонентов.
Кто-нибудь может объяснить, почему он выдает мне эти предупреждения, хотя объект, о котором он говорит, не существует? Кроме того, означают ли эти предупреждения, что мой скомпилированный код затронут?
Комментарии:
1. Действительно ли свойство названо,
responseRefernce
как указано в ошибкеresponseReference
?2. Нет, здесь была опечатка. Но даже когда нет объекта responseReference, у него ВСЕ еще есть предупреждение.
3. Вы пробовали «Очистить все» и перестроить?
4. Спасибо, Кайл, это сработало. Я забыл, что у меня есть эта опция, потому что у меня xCode 4 и макет совершенно другой. :П