0

我问这个问题是为了知道什么AnyObject意思。我已经解决了我的错误。

我有一个类用来存储一些用户值,可以说

class UserDetails : NSObject
{
    var name : String?

    init(name : String)
    {
        super.init()
        self.name = name
    }
}

我将一个类对象存储UserDetailsNSUserDefaults

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可以处理什么类型的对象?

谢谢你。

4

0 回答 0