2015-04-01 63 views
0

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

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

这是我的代码;比较不工作(我已经验证了第一个比较应该是真实的):

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

我假设我的比较是不正确的,但还没有找到SO或谷歌的任何指示正确的方式做比较。那么,如何将cell.textLabel与NSString进行比较呢?

+0

使用'cell.textLabel'的.text属性,然后使用'isEqualToString:' – 2015-04-01 18:23:37

+0

@ZaneHelton请重写你的评论作为答案......因为你们都回答了它(它有效)我不知道如何给你们两点。 – SpokaneDude 2015-04-01 18:31:54

+1

你不应该使用单元格,你应该使用数组来检查索引。使用你的模型数据而不是你的视图数据。 – Wain 2015-04-01 18:37:12

回答

3

试试这个:

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

你知道如何分割点吗?你们两个都正确回答了......并且我不知道如何分裂(不确定它甚至可以完成) – SpokaneDude 2015-04-01 18:32:48

+1

大声笑它不能完成。我们同时回答,但他留下了评论,我留下了一个答案。我会把它留给你斯波坎只是很高兴你修好它。 – Chase 2015-04-01 18:34:06

+0

如果他回答你可以upvote他,他会得到积分,但你只能接受一个答案。 – Chase 2015-04-01 18:36:48

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

你目前比较一个标签为一个字符串对象,使用titleLabeltext属性将让你使用isEqualToString:方法让你成功地比较两个。