2015-07-17 4 views
0

У меня есть объект под названием Папка, и я пытаюсь распечатать массив созданных папок. Я уверен, что мои данные сохраняются при создании папки со следующим кодом, 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() 

} 

Есть ли у кого-нибудь идеи, где я могу ошибиться, экономя/получая данные?

+0

Извините, если я неправильно читаю вопрос, но вы, кажется, распечатываете количество папок, прежде чем заполнить его, вызвав loadData? –

+0

@NeilHorton Ошибка мальчика в школе, я предположил, что viewWillAppear заполнит ее. Однако после вызова данных нагрузки перед println() все было в порядке. – RileyDev

ответ

0

Я звонил loadData() после попытки распечатать, поэтому массив не был заполнен. Я ожидал, что viewWillAppear заполнит его.

Смежные вопросы