Ваш gameBoard
объявлен в @interface TicTacToe
, верно? Тогда вы не можете использовать синтаксис инициализации массива C, потому что ваш массив уже инициализирован. К сожалению, C не предоставляет ярлыка для назначения массивов, поэтому вы должны создать временный массив, инициализированный вашими значениями, а затем использовать memcpy
для копирования его элементов в ваш массив.
...
if (self)
{
int tmpGameBoard[3][3] = {{0, 0, 0},
{0, 0, 0},
{0, 0, 0}};
NSAssert(sizeof(tmpGameBoard) == sizeof(gameBoard),
@"gameBoard is not a 3x3 array");
memcpy(gameBoard, tmpGameBoard, sizeof(tmpGameBoard));
...
NSAssert
используется, чтобы убедиться, что вы не изменили размер массива в интерфейсе и забыли обновить его инициализацию (было бы лучше использовать утверждение времени компиляции вместо NSAssert
, но это уже другая тема).