Intereting Posts
Прокрутка ячеек с помощью тестирования пользовательского интерфейса UIScrollView спорадически теряет отскок и прокрутку жидкости как изменить цвет даты FSCalandar на конкретную дату.? Как отсортировать массив словаря внутри массива данных словаря в iphone StartApp -> Нет такого модуля 'StartApp' Уведомление push iOS возвращает старые уведомления на экран блокировки Как отличить заполненные запросы с помощью S3 на iOS? Возможно ли конвертировать .ipa, скомпилированную для iOS ARM в x86, которая может работать на эмуляторе? iOS9 UIPageViewController сбой во время доступа Как получить UIMenuController для отображения с помощью Swift 3 Вход в Facebook Вы уже авторизовались APP_NAME Отключение вращения для текущего экрана? Нарисуйте круг на прямоугольнике Как избежать предупреждения компиляции при подклассификации класса с категорией? Рамка iOS: как включить библиотеки, чтобы проект, который использует структуру, не должен

Инициировать до нуля статический 2D-массив при его объявлении

Я разрабатываю приложение iOS 5.0+ с последним SDK.

Я должен объявить инициализацию частного 2D-массива таким образом, потому что я собираюсь использовать его для функции C ++:

@implementation MyClass int myArray[NSFirstDim][NSSecondDim] = 0; <-- Error here ... - (id)init { ... } ... @end 

Но я не могу инициализировать 0 таким образом, потому что получаю следующее сообщение:

 Array initializer must be an initializer list 

Как я могу инициализировать все значения до нуля?

Или я могу использовать 2D динамический массив …

использование

 int myArray[NSFirstDim][NSSecondDim] = {0}; 

это мощное поведение от C, где вы добавляете значения из начала и останова (другие), инициализируются на 0.

В этом примере кода,

 int arr[4][3]={1,2,3}; for (int i=0; i<4; i++) { for (int j=0; j<3; j++) { NSLog(@"%d",arr[i][j]); } } 

Выход: 1,2,3,0,0,0, ….

 int myArray[NSFirstDim][NSSecondDim] = {0}; 
 int myArray[NSFirstDim][NSSecondDim] = {0}; 

Этот оператор инициализирует все элементы 2D-массива равными нулю.

Взгляните на инициализацию массивов на C ++ , я нашел это весьма полезным.

Это также может работать: int myArray [NSFirstDim] [NSSecondDim] = {};

Как насчет этого int myArray [2] [1] = {{0}, {0}};