gpt4 book ai didi

swift - 保存表格 View 单元格

转载 作者:行者123 更新时间:2023-11-30 10:30:07 24 4
gpt4 key购买 nike

我尝试使用核心数据保存表格 View 的数据,但是我无法让它按照我设置代码的方式工作。

    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 用于更改确定任务优先级的图像。

最佳答案

Leja,“从 CoreData 中的 TableView 保存数据”没有意义,但我会尝试通过谈论两件事来回答。

节省 CoreData

使用任务模型创建数据模型。然后你最终将拥有继承自 NSManagedObject 的 Task 类,如下所示:

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)")
}

在TableView或CollectionView上显示本地数据

    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 .

关于swift - 保存表格 View 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59317486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com