Miért próbálja módosítani a keret? Meg kell meghatározó itemID, mint a tulajdon vagy például a változó (vagy mindkettő) myAnnotation.h. Azt mondják, hogy currentAnnotation.itemTag
nem működik; Ahhoz, hogy ez a munka, akkor szükség van itemTagmeghatározni, mint egy ingatlan bármilyen osztályba currentAnnotationtartozik.
Megváltoztatása fejlécfájl keret nem fordítani, így nem lehet tudni, hogy hogy működik.
EDIT: Itt egy példa.
A MyAnnotation.h:
@interface MyAnnotation : NSObject <MKAnnotation> {
NSString *itemID;
// Other instance variables
}
@property (nonatomic, retain) NSString *itemID;
// Class and instance methods.
@end
A MyAnnotation.m:
@implementation MyAnnotation
@synthesize itemID;
// Your code here.
@end
A @propertyhívás meghatározza a tulajdon és a @synthesizehívás jön létre alkotói és getter az Ön számára (módszerek beállítására és lekérdezésére az értéke itemID). Az MyAnnotation.m, akkor self.itemIDvagy [self itemID]kap az értéke itemID, és tudod használni self.itemID = @"something", vagy [self setItemID:@"Something"]az érték beállításához.
EDIT 2:
Ha kap currentAnnotation, ha a fordító nem tudja, hogy a kommentár egy példánya a MyAnnotation osztály, akkor nem tudni itemID. Tehát, először arról, hogy ha már benne ez a sor elején a .mfile:
#import MyAnnotation.h
Ez wil biztosítják, hogy a fordítóprogram ismeri az osztály. Amikor használja currentAnnotation, akkor vesd mint egy példánya MyAnnotationígy:
(MyAnnotation*)currentAnnotation
Hogy kell megnyugszik a figyelmeztetéseket.