I'm improving my swift skills but I got the error which is related to NSUserDefaults
I created a dictionary of array(NSArray). Then I want to save that dictionary.
Error:
2014-11-22 11:50:29.222 __ Property list invalid for format: 200 (property lists cannot contain objects of type 'CFType') 2014-11-22 11:50:29.222 __ *** NSForwarding: warning: object 0x7fc6a3e03900 of class '__.Department' does not implement methodSignatureForSelector: -- trouble ahead Unrecognized selector -[__.Department isNSString__]
These are my classes:
Please give me advice. I may fail with Dictionary of Array.
Department.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)
}
}
University.swift
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")
}
}
If I add department(which have included faculty members), It gives me error.
Best Regards.
Department
should be a subclass of NSObject
This might help you
Object X of class Y does not implement methodSignatureForSelector in Swift
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.