Neden çerçeveyi değiştirmeye çalışıyorsun? Sen tanımlayan gerektiğini itemIDbir özellik veya örnek değişkeni (veya her ikisi) olarak myAnnotation.h. Söylüyorsun currentAnnotation.itemTag
işe yaramadı; Bu işe bulunabilmesi için, olması gerekir itemTagsınıfı ne olursa olsun bir özelliği olarak tanımlanan currentAnnotationaittir.
çerçeve için başlık dosyası değiştirme onu yeniden derlemek olmaz, yani bunun işe gitmek için mümkün olmayacaktır.
DÜZENLEME: İşte bir örnek.
In MyAnnotation.h:
@interface MyAnnotation : NSObject <MKAnnotation> {
NSString *itemID;
// Other instance variables
}
@property (nonatomic, retain) NSString *itemID;
// Class and instance methods.
@end
In MyAnnotation.m:
@implementation MyAnnotation
@synthesize itemID;
// Your code here.
@end
@propertyÇağrı özelliğini tanımlayan ve @synthesizeçağrı sizin için (set ve değerini almak için yöntemler ayarlayıcılar ve alıcılar yaratacaktır itemID). Olarak MyAnnotation.mkullanabileceğiniz self.itemIDveya [self itemID]değerini almak için itemID, ve kullanabileceğiniz self.itemID = @"something"veya [self setItemID:@"Something"]değeri ayarlayın.
DÜZENLEME 2:
Eğer olsun currentAnnotationderleyici ek açıklama MyAnnotation sınıfının bir örneği olduğunu bilmiyorsa, bu bilmeyecek itemID. Yani, önce size başında bu çizgiyi yer verdik sağlamak .mdosyası:
#import MyAnnotation.h
Yani derleyici sınıfının haberi sağlamak sönecektir. Eğer kullandığınız zaman currentAnnotation, sen bir örneği olarak döküm MyAnnotationşöyle:
(MyAnnotation*)currentAnnotation
Yani uyarıları sessiz olmalıdır.