2014-02-03 3 views
0

У меня проблема.nsmutablearray objectatindex null или нет

-(NSString*) get_readMessage:(int)index 
{ 
    if ([msg objectAtIndex:index] == NSNotFound) //not Working 
     return @"-1"; 
    return [msg objectAtIndex:index]; 
} 

позволяет предположить [число Сообщ] 10 и в программе, мы называем эту функцию с

NSLog(@"%@",[self get_readMessage:11]); 

и теперь мы из размера массива. сбой приложения. есть способ проверить, например, msg [11] == mull; " в объективе C?

ответ

3

Вам необходимо проверить счет.

- (NSString*)get_readMessage:(NSUInteger)index { 
    if (index >= msg.count) { 
     return @"-1"; 
    } else { 
     return msg[index]; 
    } 
} 

Кроме того, изменить index к NSUInteger.

И стандартные соглашения об именах предполагают, что ваш метод следует называть более похожим на readMessage:.

+0

спасибо за ваш ответ. Но граф не помогает мне. Мне нужно знать, что конкретный объект в этом индексе существует или нет ... – Antiokhos

+0

Я не думаю, что вы понимаете, как работает массив. Индекс находится либо в диапазоне, либо нет. Если он находится в зоне действия, вы получаете объект из этого индекса, независимо от объекта. Это то, что дает вам мой ответ. Не имеет смысла говорить «проверить, существует ли конкретный объект в этом индексе». – rmaddy

Смежные вопросы