Николай прав насчет изменчивости. Так что, вероятно, самый простой способ решить проблему - определить
@property (nonatomic, strong) NSMutableArray *arrayRefineSubjectCode;
, а затем вставьте строки одну за другой, например,
for ( int counter = 0 ; counter < 3 ; counter++ ) {
NSMutableString *s = [NSMutableString stringWithFormat:@" blah "];
[arrayRefineSubjectCode addObject:s];
}
... чтобы получить три элемента с "бла" в нем. Обратите внимание, что вы не можете добавить объект к неизменяемому массиву NSArray, только к изменяемому массиву NSMutableArray.
Конечно, у вас могут быть строки с лишними пробелами, которые уже где-то сидят. Вам нужно будет сделать изменяемую (!) Копию этих строк и добавить их в массив arrayRefineSubjectCode с помощью addObject. Вы можете удалить пробелы до или после добавления их в массив.
Надеюсь, это немного поможет.
Просто подумал добавить последнее замечание. Вы можете спросить, почему вы все равно используете неизменяемые объекты. Есть несколько причин, но если вы можете избежать использования неизменяемого, это приведет к более быстрому коду, копирование будет легким (просто скопируйте указатель на адрес, содержащий данные, потому что эти данные в любом случае не изменятся), и это более вероятно, будет потокобезопасным. Конечно, будьте осторожны с NSArray, который указывает на изменяемые объекты, такие как NSMutableString!