2013-02-13 193 views
1

我想向我的MKAnnotation添加自定義值。我想讓它存儲該位置的唯一ID。我設置了標註有標題和副標題的代碼是這樣的:將自定義屬性添加到MKAnnotation

location.latitude = [dictionary[@"placeLatitude"] doubleValue]; 
location.longitude = [dictionary[@"placeLongitude"] doubleValue]; 

newAnnotation = [[MapViewAnnotation alloc] initWithTitle:dictionary[@"placeName"] 
               andCoordinate:location]; 

newAnnotation.subtitle = dictionary[@"placeCity"]; 

我將如何添加自定義屬性,例如「placeId」?這是我有:

newAnnotation.placeId=dictionary[@"placeId"]; 

任何幫助將是偉大的。謝謝!

+0

嗨巴爾加維,你知道我怎麼會去這樣做? – Brandon 2013-02-13 07:27:12

+0

使用類別類 – 2013-02-13 07:33:29

回答

2

如果MapViewAnnotation是MKAnnotation/MKAnnotationView的子類,那麼只需爲它創建屬性,合成並使用。如果不是,則通過MKAnnotationView創建類別。

以下是創建類別類的步驟。

  1. 右鍵單擊項目,選擇 「新建文件」
  2. Cacoa觸摸>的Objective-C類>接下來
  3. 給分類:CATEGORY_NAME &類別上:在.h文件中category_on_class
  4. 剛剛創建屬性placeId
  5. in .m使用@dynamic合成它
  6. 將.h文件導入到您的文件中。

然後,您可以在該類的「classObject」對象上具有「classObject.placeId」屬性。

+0

爲什麼添加一個類別而不是編輯MapViewAnnotation本身?據我所知,這只是布蘭登編造的一堂課。 – Craig 2013-02-14 08:24:53

1

不要巴爾加維說什麼,但這樣做是爲了MapViewAnnotation.m和MapViewAnnotation.h

相關問題