添加三个带有分隔逗号的字符串和"和"增值

时间:2014-09-22 08:28:52

标签: ios string

我有三个TAG,tag1,tag2,tag3从webservices返回 我希望显示像 tag1,tag2& tag3 用逗号和“&”字 这是我的代码

 NSString *tag1=[getSelectedArray valueForKey:@"tag1"];
 NSString *tag2=[getSelectedArray valueForKey:@"tag2"];
 NSString *tag3=[getSelectedArray valueForKey:@"tag3"];
 NSString *getTags; 
getTags=[NSString stringWithFormat:@"%@ , %@ & %@",tag1,tag2,tag3];

问题是当tag1和任何其他标记为null时,时间看起来像 **,tag2& ** 如何管理空值

3 个答案:

答案 0 :(得分:1)

将所有标记检索更改为:

NSString *tag1=[getSelectedArray valueForKey:@"tag1"] ? [getSelectedArray valueForKey:@"tag1"] : @"";

其他两个标签相同。

<强> ***** **** EDIT
如果你的字典返回NSNUll对象,你可以这样做:

NSString *tag1=[[getSelectedArray valueForKey:@"tag1"] isKindOfClass:[NSNull class]] ? [getSelectedArray valueForKey:@"tag1"] : @"";

答案 1 :(得分:0)

试试这个

NSString *getTags =[NSString stringWithFormat:@"%@ , %@ & %@",[getSelectedArray valueForKey:@"tag1"] isEqual:[NSNull null] ? tag1:@"",[getSelectedArray valueForKey:@"tag2"] isEqual:[NSNull null] ? tag2:@"",[getSelectedArray valueForKey:@"tag3"] isEqual:[NSNull null] ? tag3:@""];

答案 2 :(得分:0)

试用此代码,

NSString *getTags =(tag1 && tag2 && tag3)?[NSString stringWithFormat:@"%@ ,%@ & %@",tag1,tag2,tag3]:(tag1 && tag2)?[NSString stringWithFormat:@"%@ ,%@",tag1,tag2]:(tag1 && tag3)?[NSString stringWithFormat:@"%@ ,%@",tag1,tag3]:(tag2 && tag3)?[NSString stringWithFormat:@"%@ ,%@",tag2,tag3]:tag1?tag1:tag2?tag2:tag3?tag3:@"";