Ios NSUserDefaults给出Swift中NSArray的错误

Ios NSUserDefaults给出Swift中NSArray的错误,ios,dictionary,swift,Ios,Dictionary,Swift,我正在提高我的swift技能,但我犯了一个错误,这与我的默认设置有关 我创建了一个数组字典(NSArray)。那么我想保存那本字典 错误: 2014-11-22 11:50:29.222 \uuuuuuu属性列表格式为200无效(属性列表不能包含“CFType”类型的对象) 2014-11-22 11:50:29.222***NSForwarding:警告:类“”部门“”的对象0x7fc6a3e03900未实现methodSignatureForSelector:--前方有故障 无法识别的选择器

我正在提高我的swift技能,但我犯了一个错误,这与我的默认设置有关

我创建了一个数组字典(NSArray)。那么我想保存那本字典

错误:

2014-11-22 11:50:29.222 \uuuuuuu属性列表格式为200无效(属性列表不能包含“CFType”类型的对象)
2014-11-22 11:50:29.222***NSForwarding:警告:类“”部门“”的对象0x7fc6a3e03900未实现methodSignatureForSelector:--前方有故障
无法识别的选择器-[\uuuuuuu.部门isNSString\uuuuuuuu]

这些是我的课程:

请给我一些建议。使用数组字典可能会失败

部门。swift

class Department {
    var facultyMembers = [FacultyMember]()
    let fullName: String
    let shortName: String

    init(fullName: String, shortName: String) {
        self.fullName = fullName
        self.shortName = shortName
    }

    func addMember(member: FacultyMember) {
        facultyMembers.append(member)
    }
}
class University {
    var departments:[[Department]]

    init(){
        departments = [[Department]]()

        let userDefaults = NSUserDefaults.standardUserDefaults()
        if let defaultItems = userDefaults.arrayForKey("departments"){
            departments = defaultItems as [[Department]]
        }else{
            departments = [[Department]]()
            userDefaults.setObject(departments, forKey: "departments")
        }
    }
    func addDepartment(department: [Department]) {
        departments.append(department)

        let userDefaults = NSUserDefaults.standardUserDefaults()
        userDefaults.setObject(departments as NSArray, forKey: "departments")
    }
}
大学。swift

class Department {
    var facultyMembers = [FacultyMember]()
    let fullName: String
    let shortName: String

    init(fullName: String, shortName: String) {
        self.fullName = fullName
        self.shortName = shortName
    }

    func addMember(member: FacultyMember) {
        facultyMembers.append(member)
    }
}
class University {
    var departments:[[Department]]

    init(){
        departments = [[Department]]()

        let userDefaults = NSUserDefaults.standardUserDefaults()
        if let defaultItems = userDefaults.arrayForKey("departments"){
            departments = defaultItems as [[Department]]
        }else{
            departments = [[Department]]()
            userDefaults.setObject(departments, forKey: "departments")
        }
    }
    func addDepartment(department: [Department]) {
        departments.append(department)

        let userDefaults = NSUserDefaults.standardUserDefaults()
        userDefaults.setObject(departments as NSArray, forKey: "departments")
    }
}
如果我加了一个系(包括教职员工),它会给我一个错误


致以最诚挚的问候。

部门
应该是
NSObject的子类

这可能对你有帮助