真实的新手来到Objective C和Cocoa。
我有'if statement'
if (cardCount = 2)
UIImage *image = [UIImage imageNamed: @"Card 2.png"];
这给了我“错误:'*'令牌之前的语法错误”
为什么呢? UIImage系列本身运行良好。
我很欣赏指出我做错了什么。
由于 保罗
答案 0 :(得分:14)
首先,条件应该是cardCount == 2
,但这不是错误的原因。问题是,变量声明和初始化在语法语法中不算作语句。这是一个宣言。您不能声明if
,while
等的正文(顺便说一下,块被视为一个声明,可能包含声明,因此这是一个声明不同的事)。毕竟,没有任何用处,因为它会立即超出范围,因此不被允许。
UIImage *image;
if (cardCount == 2)
image = [UIImage imageNamed: @"Card 2.png"];
如果你只需要在if语句中使用该变量(我怀疑这是你想要的):
if (cardCount == 2) {
UIImage* image = [UIImage imageNamed: @"Card 2.png"];
// code to use `image`
}