Прежде всего, условие должно читаться как 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`
}