簡體   English   中英

保存MKOverlayView數組 - > plist

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM