2015-05-06 24 views
1

分配字幕我試圖內MKAnnotation編程方式更新字幕。下面的代碼行產生cannot assign subtitle in annotation錯誤:斯威夫特不能在MKAnnotation

let annotation: MKAnnotation = mapView.annotations[0] as! MKAnnotation 
annotation.subtitle = nil 

誰能幫助引導我,我可以更新字幕地圖中顯示的MKAnnotation後的方向嗎?

回答

1

MKAnnotation是協議。在該協議中,subtitle是隻讀的。這意味着它不能設置。

所以,因爲你施放此批註的MKAnnotation,你不能設置subtitle

如果你知道知道什麼註釋真的是,那麼你可以施放到類,並假定它將具有讀/寫操作,這樣就可以將其設置一個subtitle。例如,它可能是MKPointAnnotation,或者您可能有自己的自定義註記類。然後你就可以投射到那個,現在你可以設置subtitle

+0

我創建了自己的自定義註記類,當我嘗試更新字幕時,它不會更新地圖中的註釋。但是,如果我在更改前後打印字幕,它看起來會正確更新。是否有需要更新地圖中註釋的呼叫,還是應該自動處理? –

+0

我不認爲你可以顯示改變。只需刪除註釋並將其替換爲具有所需字幕的註釋(但標題和座標與刪除的標題相同)。 – matt

+0

好的謝謝。我希望能有辦法更新它。 –