【发布时间】:2015-05-20 09:15:01
【问题描述】:
我正在学习 iOS 编程(我来自 Android),我正在寻找更容易获取字符串的方法。有了这个建议,我定义了下一个宏并在一些代码片段中使用它:
#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";
我不知道发生了什么,当我有这 2 行时,一切正常,并且可以正常工作。
_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";
我做错了什么?
提前致谢。
【问题讨论】:
-
rckoenes 是对的,去掉“;”表单宏
标签: ios objective-c if-statement compiler-errors