arrdata=[[NSMutableArray alloc]initWithObjects:strname,strWeb,strAdd,strPhone,strrate, nil];
[arrAllData addObject:arrdata];
我从网络服务中获取数据。在strweb
没有价值的条件下,它会忽略其他值,例如stradd
,sphone
和strrate
。我该如何解决这个问题?
答案 0 :(得分:3)
你可以用最简单的方式做到这一点。
if(strweb==nil)
{
strweb=@"null";
}
注意:在<>中传递null支架;
答案 1 :(得分:1)
试试这段代码,
if(strWeb == nil){
strWeb = [NSString stringWithFormat:@"%@", [NSNull null]];
}
arrdata=[[NSMutableArray alloc]initWithObjects:strname,strWeb,strAdd,strPhone,strrate, nil];
[arrAllData addObject:arrdata];
当你的任何对象在数组的创建时间为零时,你的数组将以对象结束,剩下的对象将丢弃。根据上面的代码,你需要检查每个对象的原因不应该是nil,然后将它添加到数组中。
如果strWeb为nil,那么你的数组结构将是
arrdata=[[NSMutableArray alloc]initWithObjects:strname,nil]; future object will discard.,strAdd,strPhone,strrate,
arrdata的输出只包含一个对象strname
其他方式,
如果您的字符串为nil,请设置任何默认值。例如,
if(strWeb == nil){
strWeb = @"This Value is discarded"; // It could be anything identifier for your purpose.
}
arrdata=[[NSMutableArray alloc]initWithObjects:strname,strWeb,strAdd,strPhone,strrate, nil];
[arrAllData addObject:arrdata];
在检索时间时,您可以将上面的字符串与对象内的值匹配。
答案 2 :(得分:0)
您使用初始值设定项-initWithObjects:
。如您所知,对象列表以nil
终止。如果其中一个引用的值为nil
,则-initWithObjects:
认为这是终止符。
检查参考文献(即strweb)。如果是nil
,请为其指定默认值或不在列表中遇到该变量。