Önceden çekirdek verilerinde kayıtlı olan verileri göstermek istiyorum ve sadece önizleme yapmak istiyorum, tıpkı kitap adının kayıtlı olduğu ve tablo görünümünde olduğu gibi. Gördüğüm tüm dersler şimdiye kadar, genellikle metin alanlarını almak, verileri girmek, kaydetmek ve daha sonra almak. lütfen bana yardım edin çünkü bu temel verilerle ilk etkileşimimTemel verilerde önceden kaydedilmiş veriler nasıl gösterilir?
-3
A
cevap
0
Anladığım kadarıyla NSfetchedResults Denetleyicisi'ni kullanmaya çalışıyorsunuz. Veri un ise bir dizi çekirdek verileri kaydetmek için onun size hızlı kullanıyorsanız ... aşağıdakileri yapın şöyle
// dizinizi oluşturmak
var employee:NSMutableArray = []
employee.addObject(["name":"Bill","LastName":"Hanks"])
employee.addObject(["name":"Rolex","LastName":"Swarzer"])
employee.addObject(["name":"Clive","LastName":"Martin"])
employee.addObject(["name":"Jimi","LastName":"Hendrix"])
çekirdek verilerine eklemek :
let appDel = UIApplication.sharedApplication().delegate as! AppDelegate
let context = appDel.managedObjectContext
for item in employee {
do {
let newUser = NSEntityDescription.insertNewObjectForEntityForName("Employee", inManagedObjectContext: context)
newUser.setValue(item["name"], forKey: "name")
newUser.setValue(item["LastName"], forKey: "lastname")
try context.save()
} catch {
//do nothing
}
}
Eğer UITableView nasıl kurulacağı biliyor ve onun mülkiyet tableBox aşağıdaki yöntemleri gözlemlemek çağrıda varsayarsak. Kopyalayıp yapıştırabilir ve sadece gerekli olanları değiştirebilirsiniz
// --------------------------------- ---- yük tableViewMethods -----
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return ""
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let sectionInfo = self.fetchedResultsController.sections![section]
return sectionInfo.numberOfObjects
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return (self.fetchedResultsController.sections?.count)! }
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("theCell", forIndexPath: indexPath)
let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as! NSManagedObject
self.configureCell(cell, withObject: object)
return cell
}
func configureCell(cell: UITableViewCell, withObject object: NSManagedObject) {
cell.textLabel!.text = object.valueForKey("name")!.description
cell.detailTextLabel!.text = object.valueForKey("lastname")!.description
}
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
// Return false if you do not want the specified item to be editable.
return true
}
func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
tableBox.moveRowAtIndexPath(sourceIndexPath, toIndexPath: destinationIndexPath)
}
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
let context = self.fetchedResultsController.managedObjectContext
context.deleteObject(self.fetchedResultsController.objectAtIndexPath(indexPath) as! NSManagedObject)
do {
try context.save()
} catch {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate.
abort()
}
}
}
// -------- getirilen sonuçlar kontrolör Sadece Varlık Adı ve NSSortdescriptor anahtarını değiştirmeyi unutmayın. Ayrıca sizin tablo isminiz ne olursa olsun tableBox özelliğini değiştiriniz.
Bundan biraz daha fazla araştırma yapmanız gerekecek. Bahsettiğiniz öğreticiler, nasıl veri ekleyeceğinizi gösterir, böylece bunu metin alanları olmadan yapabilirsiniz. – Mundi