0

我有一个 NSMutableArray 并将 URL 放在这个数组中。

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

我还尝试将 URL 转换为字符串,但它也没有保存它,但是我使用字符串的其他 NSMutableArrays

我正在使用 Xcode。

有人可以帮助我吗?

4

1 回答 1

4

您无法在其中存储一个 URL 数组的原因NSUserDefaults是,它只允许存储原始数据对象,而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
于 2013-05-13T08:17:50.587 回答