0

我在将数组中的多个数据保存到一个上下文中时遇到了问题。我尝试了正常的方式来执行此操作,但是如果我尝试打印数据,则只会[, ]在控制台中显示!我不明白?

你可以帮帮我吗?

这是我的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    let context: NSManagedObjectContext = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext!
    let array = ["Hey", "there", "I", "am", "an", "example"]

    let entityExample = NSEntityDescription.entityForName("Example", inManagedObjectContext: context)
    var newItemExample = Example(entity: entityExample!, insertIntoManagedObjectContext: context)

    for string in array {
        newItemExample.string = string
        println(newItemExample.string)
        context.save(nil)
    }

    let fetchRequest = NSFetchRequest(entityName: "Example")
    var dataExample = [Example]()

    dataExample = context.executeFetchRequest(fetchRequest, error: nil) as [Example]

    println(dataExample) }

我做错了什么以及它是如何工作的?

4

1 回答 1

0

您只创建了一个托管对象。您应该newEntity在 for 循环中创建。或者不同的方式不要使用 for 循环。让你的代码有点功能

array.map { word -> Void in
    let newItemExample = Example(entity: entityExample!, insertIntoManagedObjectContext:context)
    newItemExample.string = word
}

var error: NSError?
context.save(&error)
if let error = error {
    println("Error: \(error.localizedDescription)")
}
于 2014-11-07T19:22:05.207 回答