2015-04-01 60 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:方法讓你成功地比較兩個。