Here is my code from my app called Reminders:
Folder Class:
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
}
Main VC:
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)
}
}
I am trying to save and load my folder objects array at different various points in my program. At the moment it is giving this error:
NSForwarding: warning: object 0x280e3c600 of class 'Reminder.Folder' does not implement methodSignatureForSelector: -- trouble ahead Unrecognized selector -[Reminder.Folder replacementObjectForKeyedArchiver:]
I have looked everywhere to try fix this please could someone help, thank you!