Szerkesztése és iPhone SDK keretrendszer?

szavazat
1

Én dolgozni MapKit és szeretné tudni, hogy adjunk egy (NSString *) itemTag értéket minden kedves kommentárokat. Létrehoztam myAnnotiation.m és myAnnotation.h

Próbáltam hozzá itemTag a myAnnotation.h / m, de amikor megpróbálok hozzáférni currentAnnotation.itemTag belül a fő kódot, azt mondja: „ItemID nem található protokollok” - így mentem a MapKit.Framework és a MKAnnotation.h. Én hozzá (NSString *) ItemID, de amikor menteni a .h fájlt a keret, az megváltoztatja a fájl ikonjára, és úgy tűnik, nem a jiving minden mást.

Minden segítséget vagy linkek segítségével lenne nagyon méltányol. Nem vagyok benne biztos, hogy még én vagyok a helyes úton, de Googling „módosítani az iPhone SDK keret” nem kapcsolja fel sokat.

A kérdést 23/03/2010 17:51
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
4

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.

Válaszolt 23/03/2010 18:14
a forrás felhasználó

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