0

nsstringの自動値を設定したい(cコンストラクターのように)。以下をご覧ください:

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!!!!

[currentNode要素]が空であるため、2番目のNSlogが機能していません。@ "-----" thisのような値を設定するにはどうすればよいですか?'init'をオーバーライドしようとしましたが、機能しませんでした。

4

2 に答える 2

1

単純なマクロを使用します。

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

NSLog(@"%@", MIGHT_BE_EMPTY([currentNode element]));
于 2012-08-02T11:57:22.817 に答える
0

それはあなたを助けるかもしれません:

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

またはこれ

NSLog(@"string is : %@", [currentNode element]));
于 2012-08-02T12:00:20.270 に答える