У меня есть объект под названием Папка, и я пытаюсь распечатать массив созданных папок. Я уверен, что мои данные сохраняются при создании папки со следующим кодом, println
выполняет правильные данные;Невозможно отобразить данные после литья в массив
@IBAction func createFolder(sender: AnyObject) {
//Save new event
let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
let entity = NSEntityDescription.entityForName("Folder", inManagedObjectContext: moc!)
let folder = Folder(entity: entity!, insertIntoManagedObjectContext: moc!)
folder.title = createFolderField.text
folder.date = NSDate()
println("\(folder)")
var error: NSError?
moc?.save(&error)
}
exit()
}
Но при попытке распечатать массив папок консоли выдает ноль или 0 при попытке сосчитать после создания папки. Если мой сохраненный код в порядке, то я должен делать что-то неправильно при создании массива.
let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
var folders = [Folder]()
func loadData() {
var error: NSError?
let request = NSFetchRequest(entityName: "Folder")
request.sortDescriptors = [NSSortDescriptor(key: "date", ascending: true)]
self.folders = moc?.executeFetchRequest(request, error: &error) as! [Folder]
}
override func viewWillAppear(animated: Bool) {
loadData()
}
override func viewDidLoad() {
super.viewDidLoad()
println("\(folders.count)")
loadData()
}
Есть ли у кого-нибудь идеи, где я могу ошибиться, экономя/получая данные?
Извините, если я неправильно читаю вопрос, но вы, кажется, распечатываете количество папок, прежде чем заполнить его, вызвав loadData? –
@NeilHorton Ошибка мальчика в школе, я предположил, что viewWillAppear заполнит ее. Однако после вызова данных нагрузки перед println() все было в порядке. – RileyDev