Я пытаюсь создать NSMutableArray размером 100, а затем заполнить каждый индекс строкой из трех пробелов, " "
. Я либо неправильно создаю массив, либо неправильно возвращаю объекты. Вот мой метод, который создает массив:
-(void) initBoard{
_board = [board initWithCapacity:100];
for(int i =0; i < 100; i++){
[_board addObject:@" "];
}
}
Этот метод не работает должным образом. Я добавил цикл for после того, что выше, который содержал NSLog @"@%", [_board objectAtIndex: i];
, чтобы я мог убедиться, что на самом деле есть строки, состоящие из трех пробелов в каждом индексе, но все, что он выведет в консоли, будет «nil». До сих пор я пробовал:
Я подумал, что, возможно, проблема была в
addObjectAtIndex
, поэтому я просто изменил его наaddObject
и изменилinitWithCapacity
только наinit];
, чтобы позволить циклу for построить массив до размера 100.Затем я подумал, что, возможно, проблема заключалась в попытке вставить литеральную строку
@" "
(IDK, как заставить Stackoverflow отображать мои 3 пробела, а не только 1), поэтому я добавилNSString *input = @" ";
прямо перед циклом for, а затем изменил[_board addObject:@" "];
на `[ _board addObject: ввод;
Любые предложения о том, как на самом деле создать NSMutableArray размером 100 и сделать так, чтобы каждое место содержало одну и ту же строку из трех пробелов?
alloc
в моем файле .h. Это не так. Меня смущает файл .h, и я не понимаю, когда вы НЕ будете использовать alloc, почему это просто не сделать по умолчанию? - person ChrisWilson4   schedule 28.02.2013alloc
в файле .h.alloc
— это процедура, и вы никогда не вызываете процедуры в стандартном файле .h. Кроме того, в Objective-C вы должны всегда иметьalloc
иinit...
вместе, если только вы на самом деле не понимаете, что делаете, и полностью понимаете последствия этого. - person Hot Licks   schedule 28.02.2013