5

iOS 7 SDK を使用する Xcode 5 で、次のような警告が表示されます。

Auto property synthesis will not synthesize property declared in a protocol

iOS 6.1 SDK を使用する Xcode 4 では、この警告は表示されませんでした。何か案は?

これが私のコードです:

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
4

2 に答える 2

11

MKAnnotationプロトコルには多くのプロパティが含まれており、プロトコルで定義されたプロパティに対して自動合成がサポートされていないため、何らかの警告が表示されるはずです。

サポートすると主張するリストからこのプロトコルを削除するか、適切なプロパティ/アクセサ メソッドを実装して、記載された責任を果たします。

于 2013-09-16T19:34:35.990 に答える
4

iOS docsによるとcoordinateMKAnnotationプロトコルで合成する必要があります。残念ながら、コンパイラはこの情報を提供していませんが、知っているようです。

于 2014-03-23T17:18:56.490 に答える