iOS inline if else编译错误:"预期:&#34 ;; "预期表达"

时间:2015-05-20 09:15:01

标签: ios objective-c if-statement compiler-errors

我正在学习iOS编程(我来自Android),我正在寻找让Strings更容易。有了这个建议我定义下一个宏并在一些代码片段中使用它:

#define STRING_BASE @"InfoPlist"
#define getString(string) NSLocalizedStringFromTable(string, STRING_BASE, @"");

...

BOOL isSomething = YES; //or NO
_label.text = isSomething? @"YES" : @"NO";
_label.text = isSomething? @"YES" : getString(@"login_title");
_label.text = isSomething? getString(@"login_title") : @"NO";

我不知道发生了什么事,当我将这两行完全正常时,它就可以了。

_label.text = isSomething? @"YES" : @"NO";
_label.text = isSomething? @"YES" : getString(@"login_title");

但是当我使用最后一个时,我有一个编译器错误,表示"预期:"和"期望的表达"。

_label.text = isSomething? getString(@"login_title") : @"NO";

如果我选择" Fix-it"代码替换为此(当然,继续编译错误):

self.loginTitleLabel.text = isSomething? : ) : @"NO";

有些事我做错了吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

您的定义添加;只需从定义中移除;

#define getString(string) NSLocalizedStringFromTable(string, STRING_BASE, @"")