Почему после обновления до Xcode 4.2 MKAnnotation отображает предупреждение - PullRequest
2 голосов
/ 14 октября 2011

В Xcode 4.1 проблем не было, но при обновлении до Xcode 4.2 я получаю следующее предупреждение:

Property 'title' 'copy' attribute does not match the property inherited from 'MKAnnotation'
Property 'subtitle' 'copy' attribute does not match the property inherited from 'MKAnnotation'

Мой код:

@interface MyAnnotation : NSObject <MKAnnotation> {
    CLLocationCoordinate2D coordinate;
    NSString *subtitle;  
    NSString *title; 
}
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property (nonatomic, retain) NSString *subtitle;  
@property (nonatomic, retain) NSString *title; 

-(id)initWithCoordinate:(CLLocationCoordinate2D) coordinate;

@end

Ответы [ 2 ]

25 голосов
/ 14 октября 2011

Измените его на:

@property (nonatomic, copy) NSString *subtitle;
@property (nonatomic, copy) NSString *title;

Протокол MKAnnotation объявляет

@property (nonatomic, readonly, copy) NSString *title;
@property (nonatomic, readonly, copy) NSString *subtitle;

Вы не должны изменять тип хранения свойства, единственное изменение, которое вы можете / должныmake - от readonly до readwrite, если необходимо;

0 голосов
/ 08 июня 2013

Попробуйте преобразовать ваше приложение в ARC, используя Edit -> Refactor -> Convert to Objective-C ARC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...