2013-05-13 77 views
0

我有一个NSMutableArray,我把URL放在这个数组中。URL数组保存

有没有问题,但当我用NSUserDefaults保存它时,它不会保留关闭应用程序后加载它的内容。

我也试图将URL转换为字符串,但它也没有保存,但其他NSMutableArrays我有串

我使用Xcode的工作。

有人可以帮我吗?

+0

你可以看看这里http://stackoverflow.com/questions/2315948/how-to-store-custom-objects-in-nsuserdefaults – 2013-05-13 08:26:18

回答

4

您无法存储的原因NSUserDefaults中的一个URL数组是,它只允许原始数据对象存储,而NSURL不是前置数据类型。

//Define Your URL 
NSURL *myURL = [NSURL URLWithString:@"www.google.com"]; 
NSMutableArray *urlArr = [[NSMutableArray alloc] initWithCapacity:0]; 
//Add it to Array 
for(int i=0;i<5;i++) 
    [urlArr addObject:[myURL absoluteString]]; // Convert NSURL to NSString 

[[NSUserDefaults standardUserDefaults] setObject:urlArr forKey:@"myURLArr"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

NSMutableArray *array = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"myURLArr"]]; 
for(NSString *urlString in array) 
    NSLog(@"%@",[NSURL URLWithString:urlString]); // Crete NSURL from NSString