2012-08-02 34 views
0

我想为nsstring设置自动值(如c构造函数)。请看看下面:空的NSString不记录

NSLog(@"%@",[[currentNode element] class]); 
NSLog(@"%@",[currentNode element]); 
NSLog(@"hi!!!!"); 

控制台:

2012-08-02 14:43:46.958 Test[5070:207] NSCFString 
2012-08-02 14:43:46.961 Test[5070:207] hi!!!! 

二的NSLog不会因为[currentNode元]的工作是空的!我如何设置像@“-----”这样的值?我试图覆盖'init',但它没有奏效。

回答

0

它可以帮助你:

NSLog(@"%@", [[currentNode element] isEqualToString:@""]?(@"-----"):([currentNode element])); 

或本

NSLog(@"string is : %@", [currentNode element])); 
+0

第一个是真的。 – Daedelus 2012-08-02 12:12:18

+0

以你更喜欢的为准。 :) – holex 2012-08-02 12:59:49

1

使用一个简单的宏:

#define MIGHT_BE_EMPTY(s) [s length] > 0 ? s : @"-----" 

NSLog(@"%@", MIGHT_BE_EMPTY([currentNode element])); 
+0

错误消息:NSCFString计数]:无法识别的选择发送到实例0x20928 – Daedelus 2012-08-02 12:03:04

+0

@Econa Yup;它的“长度”不是“数量”。 – trojanfoe 2012-08-02 12:04:17

+0

谢谢你队友,我解决了它。 – Daedelus 2012-08-02 12:14:37