我正在使用 CoreData 中的以下代碼讀取資料,但我們可以將 CoreData 中的第一個屬性名稱 “firstName”、“lastName”、“age”讀取到陣列中并讀取它們的值,而不是在代碼中寫入所有名稱。
這是重復的作業,因為它們也是用 DataModel 撰寫的。
loadData() {
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Entity")
do {
let result = try context.fetch(fetchRequest)
dump(result)
for data in result as! [NSManagedObject] {
fNames = data.value(forKey: "firstName") as! String
lNames = data.value(forKey: "lastName") as! String
age = data.value(forKey: "age") as! Int
print("first \(fNames), last : \(lNames), last : \(age)")
}
} catch {
print("Could not load data: \(error.localizedDescription)")
}
}
uj5u.com熱心網友回復:
使用 Xcode 為您生成的與物體名稱同名的類
loadData() {
//Declare fetch request to hold the class you want to fetch
let fetchRequest = NSFetchRequest<Entity>(entityName: "Entity")
do {
let result = try context.fetch(fetchRequest)
dump(result)
for data in result {
// result is now [Entity] so you can access properties directly
// and without casting
let firstName = data.firstName
let lastName = data.lastName
let age = data.age
print("first \(firstName), last : \(lastName), age : \(age)")
}
} catch let error as NSError {
print("Could not load data: \(error.localizedDescription)")
}
}
uj5u.com熱心網友回復:
試試這個,從 NSManagedObject
例如
- 對于AppDelegate.SharedInstance(),只需在 AppDelegate.swift 中宣告這個函式
class func sharedInstance() -> AppDelegate
{
return UIApplication.shared.delegate as! AppDelegate
}
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName:"CallHistory") //Here CallHistory is my entity name which i can access as NSManagedObject
let arr_callhistory = try AppDelegate.sharedInstance().persistentContainer.viewContext.fetch(fetchRequest) as! [CallHistory]
if arr_callhistory.count != 0
{
for callhistory_dict in arr_callhistory
{
let callStatus = callhistory_dict.callStatus
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/405074.html
標籤:
下一篇:無法從根目錄運行sbt
