Ios 如何仅在一个表视图单元格中更改标签并使用Swift保存?

Ios 如何仅在一个表视图单元格中更改标签并使用Swift保存?,ios,xcode,swift,Ios,Xcode,Swift,我正在构建一个应用程序,它是一个家庭作业列表 我是一名初学者,所以我不使用自定义类来保存它,也不使用CoreData。只需使用NSUserDefaults并在视图之间传递数组中的数据。我的项目几乎完成了(我想实现一些东西,如动画等,但首先我需要让它完全正常工作?),但我有两个愚蠢的问题要解决,但我不能单独完成 如果我要把代码放在这里,问题就太长了,所以我会把项目的链接留给帮助我检查的你 给你 因此,第一个问题是: 由于它是一个作业列表应用程序,它将控制该应用程序是独立的还是独立的!为此,我在自定

我正在构建一个应用程序,它是一个家庭作业列表

我是一名初学者,所以我不使用自定义类来保存它,也不使用CoreData。只需使用NSUserDefaults并在视图之间传递数组中的数据。我的项目几乎完成了(我想实现一些东西,如动画等,但首先我需要让它完全正常工作?),但我有两个愚蠢的问题要解决,但我不能单独完成

如果我要把代码放在这里,问题就太长了,所以我会把项目的链接留给帮助我检查的你

给你

因此,第一个问题是: 由于它是一个作业列表应用程序,它将控制该应用程序是独立的还是独立的!为此,我在自定义单元格中添加了一个标签,名为pendenciaLbl(英语中是pendencillbl的意思)。默认情况下,bool被初始化为true,因为如果用户正在添加作业,很明显他还没有完成作业,对吗? 为了将bool值更改为false,我添加了一个新的actionforrowatinedexpath操作,名为Feito(英文的意思是Done)。通过按下它,我使isPendent值为false。关于表视图func

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
我提出了一个if/else声明:

if isPendent {
            cell.pendenciaLbl.text = "Pendente"
            cell.pendenciaLbl.textColor = UIColor.redColor()
        } else {
            cell.pendenciaLbl.text = "Concluída"
            cell.pendenciaLbl.textColor = UIColor.greenColor()
        }
Pendente意味着Pendent,Concluteída意味着Concluted。 问题是,当我将当前单元格设置为Feita/Done时,它会将所有其他单元格也设置为Done,并将所有pendenciaLbl.text更改为consulated,这显然不是我想要的,我只想将一个单元格设置为Done

第二个也是最后一个问题解决了相同的布尔依赖。我不知道如何保存这个值,因为如果我将一个单元格设置为“已完成”,然后重新启动应用程序(通过应用程序切换器终止后),pendenciaLbl将返回“Pendent”当单元格设置为“已结束”时,如何保存该值,并在启动应用程序时检查该值是否已设置?


对不起,我犯了所有英语错误,我是巴西人。

现在您只有一个变量用于
isPendent
。因此,如果一个单元格更改该变量,则所有单元格都将更改

您需要做的是创建一个包含
布尔值的
数组,每个单元格一个。就像其他数据的字符串数组一样,如
材质
描述

var pendent = [Bool]()
然后在
cellforrowatinexpath

if pendent[indexPath.row] {
    cell.pendenciaLbl.text = "Pendente"
    cell.pendenciaLbl.textColor = UIColor.redColor()
} else {
    cell.pendenciaLbl.text = "Concluída"
    cell.pendenciaLbl.textColor = UIColor.greenColor()
}

现在,
isPendent
只有一个变量。因此,如果一个单元格更改该变量,则所有单元格都将更改

您需要做的是创建一个包含
布尔值的
数组,每个单元格一个。就像其他数据的字符串数组一样,如
材质
描述

var pendent = [Bool]()
然后在
cellforrowatinexpath

if pendent[indexPath.row] {
    cell.pendenciaLbl.text = "Pendente"
    cell.pendenciaLbl.textColor = UIColor.redColor()
} else {
    cell.pendenciaLbl.text = "Concluída"
    cell.pendenciaLbl.textColor = UIColor.greenColor()
}

谢谢,这对我帮助很大。我没有完全那样做,但它给了我一个想法。谢谢,它帮了我很多。我没有完全那样做,但它给了我一个想法。