Предупреждение GCC 4.2 для объекта, который больше не существует

#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 и макет совершенно другой. :П