[英]Saving MKOverlayView array -> plist
我有一個涉及大量MKOverlayViews的應用程序。 每次將一個添加到地圖中時,它也會添加到NSArray中。 當用戶希望停止添加疊加層時,我希望他們能夠保存它們,並且以后能夠訪問它們。 如何將MKOverlayViews數組存儲到plist中,然后將它們重新加載到mapView中? 這可能嗎?
我正在嘗試使用此代碼從數組中獲取MKPolylineViews並將相應的MKPolylines添加到地圖中,但它在'[mapView addOverlay ....'行崩潰。
將數組寫入plist:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if(overlays)
{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:overlays];
[defaults setObject:data forKey:@"theKey"];
[defaults synchronize];
}
從plist讀取數據:
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"theKey"];
NSArray *arr = [NSKeyedUnarchiver unarchiveObjectWithData:data];
for(MKPolylineView* a in arr)
[mapView addOverlay:a.polyline];
我將看看使用NSArchiver或NSKeyedArchiver進行歸檔,然后將它們寫入磁盤。 可能比試圖以某種方式將它們擠進一個plist更好......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.