我尝试使用核心数据保存表格视图的数据,但是我无法使其与设置代码的方式一起使用。
let cell = tableView.dequeueReusableCell(withIdentifier: "taskCell", for: indexPath) as! TaskCell
cell.taskText.text = tasks[indexPath.row].name
cell.taskPriority.image = tasks[indexPath.row].priority
return cell
任务在哪里
var tasks = [Task]()
它看起来像这样
class Task {
var name = ""
var priority = UIImage()
var priorityInt = Int()
convenience init(priority: UIImage, name: String, priorityInt: Int) {
self.init()
self.name = name
self.priority = priority
self.priorityInt = priorityInt
PriorityInt用于更改确定任务优先级的图像。
答案 0 :(得分:0)
Leja,“从CoreData中的表视图保存数据”没有任何意义,但我将尝试通过谈论两件事来回答。
使用任务模型创建数据模型。 然后,您将最终使Task类像这样从NSManagedObject继承:
import CoreData
import Foundation
class TaskMO: NSManagedObject {
@NSManaged var name: String?
@NSManaged var priority: Int?
}
您将使用NSManagedObjectContext通过以下代码保存您的实体:
guard let task = NSEntityDescription.insertNewObjectForEntityForName("Task", inManagedObjectContext: managedObjectContext) as? TaskMO else { return
do {
try managedObjectContext.save()
} catch {
fatalError("Failed to save: \(error)")
}
let managedObjectContext = …
let tasksFetch = NSFetchRequest(entityName: "Task")
do {
let fetchedTasks = try managedObjectContext.executeFetchRequest(tasksFetch) as! [TaskMO]
} catch {
fatalError("Failed to fetch tasks: \(error)")
}
对于大量数据,您甚至可以使用NSFetchedResultsController
您可以阅读有关的更多信息,示例和说明也有据可查。 apple documentation here。