为什么我不能将所有核心数据提取结果放入 UILabel 中?
Why can't I get all my core data fetch results into a UILabel?
我有这段代码,当我使用 print 命令时,我可以获得所有的提取结果,但是如果我试图将结果放入 UILabel 中并显示它,则只会显示最后插入的值。
do {
let result = try managedContext.fetch(fetchRequest)
for data in result as! [NSManagedObject] {
print(data.value(forKey: "date") as! String)
print(data.value(forKey: "score") as! String)
var x = data.value(forKey: "date") as! String
var y = data.value(forKey: "score") as! String
//allScores.text = "Session started on \(x), points earned: \(y)"
}
} catch {
print("Failed")
}
这样做有效,
print(data.value(forKey: "date") as! String)
print(data.value(forKey: "score") as! String)
但这不是它只显示我的 UILabel 中最后插入的值
var x = data.value(forKey: "date") as! String
var y = data.value(forKey: "score") as! String
allScores.text = "Session started on \(x), points earned: \(y)"
像这样尝试
do {
let result = try managedContext.fetch(fetchRequest)
allScores.text = ""
for data in result as! [NSManagedObject] {
print(data.value(forKey: "date") as! String)
print(data.value(forKey: "score") as! String)
var x = data.value(forKey: "date") as! String
var y = data.value(forKey: "score") as! String
allScores.text = (allScores.text ?? "") + "Session started on \(x), points earned: \(y)"
}
} catch {
print("Failed")
}
我有这段代码,当我使用 print 命令时,我可以获得所有的提取结果,但是如果我试图将结果放入 UILabel 中并显示它,则只会显示最后插入的值。
do {
let result = try managedContext.fetch(fetchRequest)
for data in result as! [NSManagedObject] {
print(data.value(forKey: "date") as! String)
print(data.value(forKey: "score") as! String)
var x = data.value(forKey: "date") as! String
var y = data.value(forKey: "score") as! String
//allScores.text = "Session started on \(x), points earned: \(y)"
}
} catch {
print("Failed")
}
这样做有效,
print(data.value(forKey: "date") as! String)
print(data.value(forKey: "score") as! String)
但这不是它只显示我的 UILabel 中最后插入的值
var x = data.value(forKey: "date") as! String
var y = data.value(forKey: "score") as! String
allScores.text = "Session started on \(x), points earned: \(y)"
像这样尝试
do {
let result = try managedContext.fetch(fetchRequest)
allScores.text = ""
for data in result as! [NSManagedObject] {
print(data.value(forKey: "date") as! String)
print(data.value(forKey: "score") as! String)
var x = data.value(forKey: "date") as! String
var y = data.value(forKey: "score") as! String
allScores.text = (allScores.text ?? "") + "Session started on \(x), points earned: \(y)"
}
} catch {
print("Failed")
}