将数组保存到NSUserDefaults

jar*_*ryd 4 iphone nsurl

如何将数组保存到NSUserDefaults?

我有以下代码尝试存储NSURL数组

NSArray *temp = [[NSArray alloc] initWithArray:[mySingleton sharedMySingleton].sharedURLS];
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
[defs setObject:temp forKey:@"URLs"];
Run Code Online (Sandbox Code Playgroud)

但我收到警告

- [NSUserDefaults setObject:forKey:]:尝试插入非属性值

存储此NSURLS或NSURLS集合的正确方法是什么?

Ano*_*mie 10

你不能直接存储在NSURLNSUserDefaults,只有NSData,NSString,NSNumber,NSDate,NSArray,或NSDictionary; 此外,任何NSArrayNSDictionary可能只包含这些类型的对象.您必须将NSURL转换为其中一种类型,最有可能的方法是使用absoluteString将它们转换为NSStrings.