我遇到了一件非常奇怪的事情。
代码没问题,在Xcode 7中编译得很好。
但是我将Xcode从7升级到9。
以下代码显示“预期表达式”错误
if ([jsonDic objectForKey:@"errMsg"] !=nil
&& ![[jsonDic objectForKey:@"errMsg"] isEqualToString:@""]) {
[self showAlertView:NSLocalizedString(@"AlertMsgErrorTitle", @"")
and:[[jsonDic objectForKey:@"errMsg"] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
}
else{
[self showAlertView:NSLocalizedString(@"AlertMsgErrorTitle", @"")
and:[UserSetting getString:@"NSLocalizedDescription"]];
}
它显示“预期表达式”,其中“和”后面的“冒号”带有红色下划线,如下图所示。
我无法得到它,不知道该修复什么。
代码语法是否从7更改为9?
知道怎么解决吗?提前谢谢。
答案 0 :(得分:0)
and
是objectC中的关键字,所以我们不应该使用is作为方法参数名。
将and
的名称更改为andContent
并替换项目中的所有内容后,一切顺利。
而且我不知道为什么旧版Xcode编译没有任何问题。