iOS检查表格视图中包含的字符串是否包含?

时间:2017-05-16 06:53:20

标签: ios arrays swift tableview

在我的代码中,我有一个NSMutableArray。我想从该数组中获取所有值到String,我想检查字符串值是否在tableview中加载的另一个名为 hairStyleManIDArray 的数组中,如果字符串值为 tableview(hairStyleManIDArray)数组意味着我想为特定行分配复选标记,否则删除复选标记。

tableview加载的数组看起来像这样,

hairStyleManIDArray is : (
23,
32

Mutable数组看起来像这样,

idMutableArray is  (
     30,
     29,
     32,
     41
     )

所以我使用以下方法将NSMutableArray转换为String。

idStr = idMutableArray.componentsJoined(by: ",") as String
    print("idStr is ",idStr)

现在String看起来像这样,

idStr is : 30,29,32,41

现在我使用此方法检查字符串值是否在表视图行中。

if hairStyleManIDArray[indexPath.row] as! String == idStr {
                    cell.accessoryType = .checkmark
                }
                else
                {
                    cell.accessoryType = .none
                }

要检入两个数组值都在两者中找到,所以我想在特定行中设置复选标记,但它不起作用请帮我完成任务。

2 个答案:

答案 0 :(得分:0)

没有必要将idMutableArray转换为String而不是简单地使用contains来检查对象是否在内部而不是在快速使用中代替NS(Mutable)Array swift类型数组意味着{{ 1}}。

[String]

答案 1 :(得分:0)

您可以执行以下操作,而无需将值转换为String。

let hairStyleID = hairStyleManIDArray[indexPath.row]
if idMutableArray.contains(hairStyleID)
{
    cell.accessoryType = .checkmark
}
else
{
    cell.accessoryType = .none
}