Düzenleme ve iPhone SDK Çerçeve?

oy
1

Ben MapKit ile çalışan ve benim ek açıklamalar her birine bir (NSString *) itemTag değer katmak isterler ediyorum. Ben myAnnotiation.m ve myAnnotation.h yarattık

Ben myAnnotation.h / m itemTag ekleyerek denedim ama benim ana kodu içinde currentAnnotation.itemTag erişmeye çalıştığınızda, diyor protokollerde bulunamadı ItemID - ben MapKit.Framework ve MKAnnotation.h girdi. Ben (NSString *) ItemID ekledim, ancak Çerçevede .h dosyayı kaydederken, bu dosyanın simgesini değiştirir ve her şey ile jiving tarafından görünmemektedir.

yardım etmek Herhangi bir yardım veya bağlantılar büyük takdir. Ben iphone sdk çerçevesini değiştirmek çok yukarı açılmıyor bile burada doğru yolda olduğumu emin ama google'da değilim.

Oluştur 23/03/2010 saat 17:51
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
4

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.

Cevap 23/03/2010 saat 18:14
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more