I have a test app with two entities, folder with a relationship of To Many with another object called List.
In my storyboard I have a tableview controller with the list of created folders. When tapping on a folder I segue to another TableView passing on the selectedFolder
which should display the List ordered set saved to the selectedFolder. I have a modal that appears to add a item to the List.
Unfortunately I have not been able to save a List to the selectedFolder ordered set. I receive an error when executing the save function unrecognized selector sent to instance
this error is because of the following line:
selectedFolder.list = list.copy() as! NSOrderedSet
I am not sure what I am doing wrong with the save function and was wondering if anyone could help, it would be much appreciated.
Folder Subclass:
class Folder: NSManagedObject {
@NSManaged var title: String
@NSManaged var details: String
@NSManaged var date: NSDate
@NSManaged var list: NSOrderedSet
}
List Subclass
class List: NSManagedObject {
@NSManaged var item: String
@NSManaged var folder: Event
}
Modal View to add List to selected Folder ordered set.
class PopoverViewController: UIViewController {
//selectedFolder passed from segue. Works fine displays title of folder
var selectedFolder: Folder!
@IBOutlet weak var popoverTextField: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
self.popoverTextField.becomeFirstResponder()
// Do any additional setup after loading the view.
}
@IBAction func addListItem(sender: AnyObject) {
//Get the context
let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
//get entity details
let entity = NSEntityDescription.entityForName("List", inManagedObjectContext: moc!)
//Create the managed object to be inserted
let list = List(entity: entity!, insertIntoManagedObjectContext: moc!)
// Add Text
list.item = popoverTextField.text
//Insert the new checklist into the folder set
var folder = selectedFolder.list.mutableCopy() as! NSMutableOrderedSet
folder.addObject(list)
selectedFolder.list = list.copy() as! NSOrderedSet
//Error check & Save
var error: NSError?
if moc!.save(&error){
println("Could not save: \(error)")
}
}