尝试将数组存储在NSUserDefaults Swift中时,获取“不执行methodSignatureForSelector”?

我尝试在NSUserDefaults中存储Array对象。

我有以下代码片段:

var accounts = MyAccounts()
    var array:Array<MyAccounts.MyCalendar> =  accounts.populateFromCalendars()

    NSUserDefaults.standardUserDefaults().
          setObject(array,forKey: "test_storeAccounts_array") // <- get error here
    NSUserDefaults.standardUserDefaults().synchronize()

但是我得到异常:

does not implement methodSignatureForSelector: -- trouble ahead

我的班级结构:

class MyAccounts {

   /* ... */

    class MyCalendar {
        var title:String?
        var identifier:String?
        var email:String?
        var calType:String?
        var isActive:Bool?
        var isMainAcount:Bool?

        init(){}
    }
}

有任何想法吗?

确保你的类继承自NSObject
class MyAccounts:NSObject {

   /* ... */

    class MyCalendar {
        var title:String?
        var identifier:String?
        var email:String?
        var calType:String?
        var isActive:Bool?
        var isMainAcount:Bool?

        init(){}
    }
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...