当前位置: 动力学知识库 > 问答 > 编程问答 >

iphone - -[__NSArrayM insertObject:atIndex:]: object cannot be nil

问题描述:

I am getting error object cannot be nil. I am using web service, when I parse it using loop it crashed and send output -[__NSArrayM insertObject:atIndex:]: object cannot be nil as error, because I have null value on blank value in NSMutableArray which I am trying to parse.

I tried to fix with

(1) if([Array containsObject:[NSNull null]])

(2) if([Array objectAtIndex:0

(3) if([Array objectAtIndex:counter] == 0 methods.

My code is,

if([[[node childAtIndex:counter] name] isEqualToString:@"Phone"]){

if([phoneno containsObject:[NSNull null]]){

phone.text = @"-";

}

else{

NSString *str = [[node childAtIndex:counter] stringValue];

[phoneno addObject:str];

NSString *myString = [phoneno componentsJoinedByString:@","];

[phone setText:myString];

phone.text = [NSString stringWithFormat:@"%@",myString];

}

}

Here, phoneno is NSMutableArray

网友答案:

Make sure you have initialized your array called phoneno before adding any object into it...

NSMutableArray *phoneno=[[NSMutableArray alloc]init];

and stop adding any nil object into it...

if(str) //or if(str != nil) or if(str.length>0)
{
//add the str into phoneno array.
}
else
{
 //add the @""
}
网友答案:

You can not insert nil in to an NSArray or a NSDictionary so you have to add a test.

if(str){
   [phoneno addObject:str];
}
网友答案:

Hello There is some case in that you are inserting nil in array, so when you try to get nil then it will crash the application. So Please check value before inserting into array. If value is nil then insert blank string into it.

if(str ==  nil || [str isKindOfClass:[NSNull null]])
{
[array addObject:@""];
}
else
{
[array addObject:str];
}
网友答案:

You this utility method to validate the nil//Nil/Null/NULL checks:

-(BOOL)isObjectEmpty:(id)object
{
    return object == nil || ([object respondsToSelector:@selector(length)] && [(NSData *)object length] == 0) || ([object respondsToSelector:@selector(count)] && [(NSArray *)object count] == 0);
}
网友答案:
NSString *str = [[node childAtIndex:counter] stringValue];
if(str.length>0)
{
   [phoneno addObject:str];
}
分享给朋友:
您可能感兴趣的文章:
随机阅读: