के रूप में दिखाई देता है मेरे पास दो गुणों के साथ 'संपर्क' श्रेणी है: firstName और lastName।[NSString stringWithFormat:] के साथ नील स्ट्रिंग "(शून्य)"
NSString *fullName = [NSString stringWithFormat:@"%@ %@", contact.firstName, contact.lastName];
लेकिन जब firstName और/या lastName शून्य पर सेट है, मैं एक मिल "(शून्य)" पूरा नाम स्ट्रिंग में: जब मैं एक संपर्क का पूरा नाम प्रदर्शित करना चाहते हैं, यहाँ मैं क्या कर रहा है। इसे रोकने के लिए, मैं यहां क्या करता हूं:
NSString *first = contact.firstName;
if(first == nil) first = @"";
NSString *last = contact.lastName;
if(last == nil) last = @"";
NSString *fullName = [NSString stringWithFormat:@"%@ %@", first, last];
क्या कोई ऐसा करने के लिए एक बेहतर/अधिक संक्षिप्त तरीका जानता है? (a
दो बार के मूल्यांकन के बिना, a ?: b
एक GCC extension जो a ? a : b
के लिए खड़ा है।)
NSString *fullName = [NSString stringWithFormat:@"%@ %@",
contact.firstName ?: @"", contact.lastName ?: @""];
महान उदाहरण और उपयोगी लिंक – JSA986
आप पर समझौता करने के लिए, बस बाद में निम्न उपाय अपनाते हैं बिना इस दृष्टिकोण का उपयोग कर सकते हैं FULLNAME = [FULLNAME stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; –