Авто Синтез Свойств Предупреждение в Xcode 5 iOS 7
Я получаю предупреждение в Xcode 5 с iOS 7 SDK, которое говорит
Auto property synthesis will not synthesize property declared in a protocol
Я не получил это предупреждение в Xcode 4 с iOS 6.1 SDK. Есть идеи?
Вот мой код:
list.h
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import <MapKit/MapKit.h>
@interface List : UIViewController <UITableViewDataSource, UITableViewDelegate, UISearchBarDelegate, CLLocationManagerDelegate, MKMapViewDelegate, MKAnnotation>
{
IBOutlet UITableView *tableView;
IBOutlet UISearchBar *searchBar;
}
@property (nonatomic, strong) NSArray *annotations;
@end
List.m
#import "List.h"
#import "RSFM.h"
#import "AnnotationDetailView.h"
#import "DTCustomColoredAccessory.h"
@interface List ()
@end
@implementation List
{
NSMutableArray *title;
NSMutableArray *subtitle;
NSMutableArray *displayItems;
NSMutableDictionary *marketDictionary;
NSMutableArray *farmMarkets;
NSArray *keys;
NSMutableArray *objects;
}
Я получаю предупреждение на линии:
@implementation List
2 ответа
Решение
Вы должны были получить какое-то предупреждение, потому что MKAnnotation
Протокол содержит ряд свойств, и автосинтез никогда не поддерживается для свойств, определенных в протоколе.
Либо удалите этот протокол из списка, который вы утверждаете для поддержки, либо внедрите соответствующие свойства / методы доступа для выполнения указанных обязанностей.
Согласно документам iOS, вам нужно синтезировать coordinate
в MKAnnotation
протокол. К сожалению, компилятор не предоставляет вам эту информацию, хотя, кажется, знает.