我问这个问题是为了解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'
UserDetails
类型的对象。 AnyObject
InvalidArgumentException
。我真的需要区别对象AnyObject
可以处理什么类型的对象?
谢谢。