在这种情况下如何使NSMutableArray持久化?

时间:2014-07-07 15:42:31

标签: ios objective-c ios7 ios7.1

我已经完成了相关和类似的问题,但我发现这些问题的要求比我的要复杂得多。我有一个简单的NSMutableArray,它包含MKPolyline个对象(大约17000个)。我想知道如何以最有效和最少时间的方式存储这些数据(用于检索)。

我尝试了以下方法:

NSURL *documentsDirectoryURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] firstObject];

// append our file name
NSURL *url = [documentsDirectoryURL URLByAppendingPathComponent:@"trailLines1.data" isDirectory:NO];
trailLines1 = [[NSArray arrayWithContentsOfURL:url] mutableCopy];           
NSURL *documentsDirectoryURL2 = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] firstObject];


// append our file name
NSURL *url2 = [documentsDirectoryURL2 URLByAppendingPathComponent:@"trailLines2.data" isDirectory:NO];           
trailLines2 = [[NSArray arrayWithContentsOfURL:url] mutableCopy];

trailLines1trailLines2是包含NSMutableArray个对象的MKPolyline对象。但是当我尝试检索数据时,我得到了零。

请指导。

1 个答案:

答案 0 :(得分:0)

我猜测您正在加载的数据存在问题。我认为它需要采用有效的plist格式。你也可以发帖吗?

我还会仔细检查您获得的网址是否有效。添加一些日志语句。

https://developer.apple.com/library/mac/DOCUMENTATION/Darwin/Reference/ManPages/man5/plist.5.html