2014-09-22 53 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:@""];