Начиная с обновления до Xcode 5.1, я начинаю видеть следующее предупреждение в некотором коде, используемом моим проектом. Я пытаюсь понять, что это значит.
Предупреждение: Auto property synthesis will not synthesize property 'responseHeader' because it is 'readwrite' but it will be synthesized 'readonly' via another property
Код, в котором он встречается, в файле .m:
@interface S3Response ()
@property (nonatomic, readwrite, retain) NSDictionary *responseHeader;
@end
Предыдущее объявление свойства в файле .h:
@property (nonatomic, readonly) NSDictionary *responseHeader;
Для этого свойства нет инструкции @synthesize
, а также responseHeader
или setResponseHeader
, определенные как методы. Однако существует четкое определение ivar с именем responseHeader
.
Мне кажется довольно простым: свойство объявляется как доступное только для пользователей класса, но локально читается и записывается, поэтому класс может его установить.
Что означает это предупреждение, и что мне с этим делать?