【发布时间】:2019-04-04 02:10:33
【问题描述】:
这是我名为 Reminders 的应用中的代码:
文件夹类:
class Folder
{
var name: String
var labelName: String
var imageName : String
var colour : ColourTheme
var colourArray : Array<UIColor>
var maxNumOfPages : Int
var text : Array<String>
var touchID : Bool
var isNewFolder : Bool
init (name: String, labelName: String, imageName: String, colour: ColourTheme, maxNumOfPages: Int, text: Array<Any>, touchID: Bool, isNewFolder: Bool)
{
self.name = name
self.labelName = labelName
self.imageName = imageName
self.colour = colour
self.colourArray = []
self.maxNumOfPages = maxNumOfPages
self.text = text as! Array<String>
self.touchID = touchID
self.isNewFolder = isNewFolder
}
主要风投:
func resetData ()
{
folderArray.removeAll()
let folder1 = Folder.init(name: "reminders", labelName: "reminders", imageName: "reminders(bell)(notifications)", colour: .light, maxNumOfPages: 10, text: [""], touchID: false, isNewFolder: false)
folderArray.append(folder1)
}
func saveData()
{
let myData = NSKeyedArchiver.archivedData(withRootObject: folderArray)
UserDefaults.standard.set(myData, forKey: "folderArrayD")
print("place saved")
}
func loadData()
{
let foldersData = UserDefaults.standard.object(forKey: "folderArrayD") as? NSData
if let foldersData = foldersData
{
let folderArray = NSKeyedUnarchiver.unarchiveObject(with: foldersData as Data) as? [Folder]
if let folderArray = folderArray
{
print(folderArray)
}
}
我正在尝试在程序的不同点保存和加载我的文件夹对象数组。 目前它给出了这个错误:
NSForwarding: 警告: 'Reminder.Folder' 类的对象 0x280e3c600 没有实现 methodSignatureForSelector: -- 前面的麻烦 无法识别的选择器 -[Reminder.Folder replacementObjectForKeyedArchiver:]
我已经到处寻找尝试解决这个问题,请有人帮忙,谢谢!
【问题讨论】:
标签: class object swift4 saving-data userdefaults