如何将 UITableViewCell 内容与 NSString 进行比较?

How do I compare UITableViewCell contents to a NSString?

我有一个核心数据行,其中包含有关 UITableView 中选定行的信息。 UITableViewCell 值是从字符串数组中获得的,这是第一个比较值; NSString(存储在核心数据行中,现在显示在 UITextField 中)是第二个比较值。

我想将 cell.textLabel 与 textField 进行比较,以便我可以设置单元格的附属复选标记。

这是我的代码;比较无效(我已验证第一个比较应该是正确的):

        if([cell.textLabel isEqual: soServices.text])  {
            cell.accessoryType = UITableViewCellAccessoryCheckmark;
            break;
        }
        else
            cell.accessoryType = UITableViewCellAccessoryNone;
    }

我假设我的比较不正确,但没有在 SO 或 Google 上找到任何指示进行比较的正确方法的内容。那么,如何将 cell.textLabel 与 NSString 进行比较?

试试这个:

if([cell.textLabel.text isEqualToString: soServices.text])  {
            cell.accessoryType = UITableViewCellAccessoryCheckmark;
            break;
        }
        else
            cell.accessoryType = UITableViewCellAccessoryNone;
    }
if([cell.textLabel isEqual: soServices.text])  {
            cell.accessoryType = UITableViewCellAccessoryCheckmark;
            break;
        }
        else
            cell.accessoryType = UITableViewCellAccessoryNone;
    }

您当前正在将标签与字符串对象进行比较,使用 titleLabeltext 属性 将使您能够使用 isEqualToString: 方法,从而允许您两者比较成功