我问这个问题是为了知道什么AnyObject意思。我已经解决了我的错误。
我有一个类用来存储一些用户值,可以说
class UserDetails : NSObject
{
var name : String?
init(name : String)
{
super.init()
self.name = name
}
}
我将一个类对象存储UserDetails为NSUserDefaults
NSUserDefaults.standardUserDefaults().setObject(userData, forKey: "user_details")
上面的行没有向我显示任何错误,因为方法setObject需要类型的参数,AnyObject?但在执行时它显示错误
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Attempt to insert non-property list object <Sample.UserDetails: 0x7b1189b0> for key user_details'
- 那么,为什么我无法存储 type 的对象
UserDetails。 - 什么是实际类型
AnyObject - 为什么会被抛出
InvalidArgumentException。
我真的需要区别和AnyObject可以处理什么类型的对象?
谢谢你。