2014-03-30 52 views
0

我有一個uitableview填充數據從我的sqlite數據庫。 因此,我嘗試加載新視圖時,我點擊第一個單元格的內容是「測試」。 所以我嘗試下面的代碼竊聽didSelectRowAtIndexPath當字段來自sqlite數據庫

if ([[patients objectAtIndex:indexPath.row]isEqualToString:@"test"]) 
{do this } 

,但我得到的錯誤-[Patient isEqualToString:]: unrecognized selector sent to instance 很想在我如何訪問我的數據庫字符串一些幫助比較他們太值當我點擊。 感謝 P.S這是怎麼添加我的價值觀我的UITableView cellForRowAtIndexPath

Patient *as = [patients objectAtIndex:indexPath.row]; 
    cell.textLabel.text = as.region; 

這個代碼給出了同樣的錯誤,以及

Patient *as = [patients objectAtIndex:indexPath.row]; 
if ([as.region isEqualToString:@"TEST"]) 
+0

'[病人isEqualToString:]:無法識別selector'告訴你,你所使用的動作('isEqualToString'),它的類'Patient'沒有實現。大多數情況下,這是因爲調用中使用的對象不是您認爲的那種類型。要做的事情是將'[object objectAtIndex:indexPath.row]'的結果賦給一個臨時變量,然後記錄它或者在斷點處檢查它,看看它是什麼。 (然後,您可以使用該temp作爲「isEqualToString」調用的對象 - 在一行中編碼的所有內容*不會使*效率更高。) –

+0

@HotLicks如果您查看我在原始消息中發佈的最後一個代碼,我在第二行添加了一個斷點,我看到了.self,indexPath和患者。在indexPath indexes = NSUInteger)0null,但患者有3個對象(這是correcT),如果我深入0我看到region =(_ NSCFString *)@「測試」這是正確的。應該注意到,我有4個其他0列,但只關心0 – Janita

回答

1

患者是病人實例的數組。您正在嘗試將整個實例與您無法完成的字符串進行比較。相反,我懷疑你想做的事:

if ([[[patients objectAtIndex:indexPath.row] region] isEqualToString:@"test"]) 
+0

這就是我在做什麼:) – Janita

+0

@Janita不,這不是:) – Alladinian

+0

@Alladinian opps!抱歉。我其實已經嘗試過,但是,它給出了相同的錯誤 – Janita