Saya mengalami masalah saat mengambil data inti (kode ditunjukkan di bawah). Saya membuat proyek XCode baru dan model data dengan tiga atribut username
, password
dan testnumbers
. Dengan menggunakan kode di bawah ini saya menyimpan nilai di dalamnya, dan mengeluarkan hasilnya ke log (kanan bawah adalah keluaran itu, dari baris kode println(results)
yang dikomentari). Jadi jelas itu telah menyimpan semuanya dengan benar, saya kira.
Sekarang saya mengomentari bagian itu dan sekarang ingin mengambil nilai yang disimpan di bawah username
, password
dan testnumbers
. Mencetak result.password
tampaknya baik-baik saja dengan kodenya, tetapi dalam kode ketika mencoba mencetak result.testnumbers
dan result.username
, dikatakan "'AnyObject' tidak memiliki anggota bernama 'testnumbers/username'". Saya tidak yakin apa yang terjadi, karena keluaran saya sebelumnya menunjukkan penyimpanan yang benar.
Saya telah mencoba mengulangi proyek sederhana ini beberapa kali, selalu membuat model data terlebih dahulu dan memastikan semuanya dieja dengan benar, dll. Hal yang sama terus terjadi.
Ini kodenya:
import UIKit
import CoreData
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
var context:NSManagedObjectContext = appDel.managedObjectContext!
var newUser = NSEntityDescription.insertNewObjectForEntityForName("Users",
inManagedObjectContext: context) as NSManagedObject
newUser.setValue("Mark", forKey: "username")
newUser.setValue("pass", forKey: "password")
newUser.setValue("12345", forKey: "testnumbers")
context.save(nil)
var request = NSFetchRequest(entityName: "Users")
request.returnsObjectsAsFaults = false
var results = context.executeFetchRequest(request, error: nil)
if results?.count > 0 {
for result: AnyObject in results! {
//println(results) // this printed everything fine
println(result.password)
println(result.testnumbers)
println(result.username)
}
}
}
}
Inilah keluaran dari apa yang diberikan println(results)
pertama kepada saya:
Opsional([ (entitas: Pengguna; id: 0xd000000000040000 ; data: { kata sandi = lulus; nomor tes = 12345; nama pengguna = Tandai; }), (entitas: Pengguna; id: 0xd000000000080000 ; data: { kata sandi = lulus; nomor tes = 12345; nama pengguna = Tandai; }), (entitas: Pengguna; id: 0xd0000000000c0000 ; data: { kata sandi = lulus; nomor tes = 12345; nama pengguna = Tandai; })])
Tangkapan layar XCode sebenarnya: