我问这个问题是为了知道什么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
可以处理什么类型的对象?
谢谢你。