2013-01-02 97 views
0

我想寫一個if語句來檢查對象數組,以查看某個對象是否存在(在這個例子中,我的數組「NBC」中的單詞「channel」)。我是新手,我不確定如何在目標c中做到這一點。請大家看看下面我的代碼:Objective C如何檢查並查看對象是否被選中?

if ([[self.channel objectAtIndex:path.row] containsObject: @"NBC"]) 

{ 
//Arguments 
} 

後,我這個運行它,模擬器崩潰,並給出了此錯誤:2013年1月2日17:11:44.778主從實踐應用[50056:207] - [__ NSCFConstantString containsObject:]:無法識別的選擇器發送到實例0xc698

我知道我的語法或邏輯可能是關閉的。任何幫助將不勝感激。謝謝!

+1

它告訴你'self.channel [path.row]'是一個字符串。你可能打算做'[self.channel containsObject:SomeString]'。 –

回答

1

[self.channel objectAtIndex:path.row]正在返回一個NSString對象。然後你試圖發送NSString實例的消息,它不知道該如何處理。也許你的意思是:

[self.channel objectAtIndex:path.row] isEqualToString:@"NBC"] 

[self.channel containsObject:@"NBC"] 

但是,如果沒有更多的情況下,就很難說了。

+0

完美,第一個例子正是我所需要的!謝謝! – user1832095

1

看來你是從數組中抽出字符串而不是檢查字符串的數組。嘗試像這樣重寫你的代碼:

if ([self.channel containsObject: @"NBC"]) { 
    //Arguments 
} 
+0

是的,我已經嘗試過,這工作正常,但我不想只檢查,看看我的數組是否包含某個對象。我希望能夠看到「user」選擇哪個對象,並使用多個if語句來確定根據所選對象選擇哪些參數。那有意義嗎? – user1832095

+0

在這種情況下,請參閱上面用'isEqualToString'方法寫的@CarlNorum。 –

+0

是的,這工作得很好,謝謝你的幫助。 – user1832095

相關問題