2014-09-22 77 views
0

我有三个标签,标签1,标签2,标签3从符 它的回报,我想显示像标签1,标签2 & 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和任何其他标记为空,时间是看起来像 **,TAG2 & ** 如何管理空值

回答

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:@""; 
+0

谢谢,只是在这个代码中的一个小概率没有检查条件,当所有标签都为空 – 2014-09-22 09:53:02

+0

当tag3只有null时,它的其他问题显示tag1,tag2和请帮助我 – 2014-09-23 06:31:38

+0

我跑了代码,它给我输出在这种情况下tag1&tag2 ..你能清除你的问题吗?你想说什么时候tag3只是零.. – user2493047 2014-09-23 06:39:14

1

将所有标签检索更改为:

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

与其他两个标签相同。

*****编辑****
如果你的字典返回一个NSNUll对象,你可以这样做:

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

这将工作。 – 2014-09-22 08:36:09

+0

Null也充当实例 – Rajesh 2014-09-22 08:40:20

+0

哦。你的意思是NSNull?如果是这样,那么他需要检查NSNull Class。我会修改它。 – croyneaus4u 2014-09-22 08:41:26

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:@""];