В build.gradle defaultConfig добавить multiDexEnabled true
Мое предположение, судящее по коду, который Вы отправили, то, что Вы, вероятно, не выделяете свой массив правильно. При создании объектов необходимо инициализировать их также. Поэтому это:
Kana *htemp = [Kana alloc];
Должен быть:
Kata *temp = [[Kana alloc] init];
Все объекты должны быть инициализированы этот путь. Таким образом, если я корректен, и Вы не инициализировали свой массив, затем Ваше создание должно пойти от этого:
NSMutableArray *hiragana = [NSMutableArray alloc];
к этому:
NSMutableArray *hiragana = [[NSMutableArray alloc] init];
По причинам оптимизации необходимо, вероятно, также указать начальную способность также, если у Вас есть какая-либо идея, сколько объектов Вы могли бы держать:
[[NSMutableArray alloc] initWithCapacity:someNumber];
Другая частая причина (не в Вашем случае, как оказалось, но обычно) забывает даже выделять массив. Если Вы еще не создали массив, Вы отправляете это count
сообщение к nil
, таким образом, результат всегда будет 0.
Несколько вещей:
Наиболее вероятно, что или Вы не создаетесь, массив правильно или RS не содержат то, что Вы ожидаете, что это будет содержать, и таким образом [RS затем] не станет названным никогда (если бы RS является нолем, например, никакие повторения этого цикла не выполнились бы, и у Вас не было бы вида ошибки).