我遇到了将数组中的多个数据保存到一个上下文中的问题。
我尝试通常的方式,但如果我尝试打印数据,控制台中只显示[, ]
!
我不明白吗?
你能帮帮我吗?
这是我的代码:
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) }
我做错了什么以及它是如何运作的?
答案 0 :(得分:0)
您只创建一个托管对象。您应该在for循环中创建newEntity
。或者不同的方式不要使用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)")
}