如果某些字符串为空,如何在nsmutablearray中添加字符串对象

时间:2014-01-09 07:38:23

标签: ios iphone objective-c nsmutablearray

arrdata=[[NSMutableArray alloc]initWithObjects:strname,strWeb,strAdd,strPhone,strrate, nil];  
[arrAllData addObject:arrdata];

我从网络服务中获取数据。在strweb没有价值的条件下,它会忽略其他值,例如straddsphonestrrate。我该如何解决这个问题?

3 个答案:

答案 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,请为其指定默认值或不在列表中遇到该变量。