Есть два способа сделать это:
Первый требует лишь небольшой модификации вашего кода, что позволит вам делать то, что вы хотите: В функции someThing передать изменяемыймассив в качестве дополнительного параметра.
function_something(theObject_fixed, arrayOfThings);
Затем измените function_something, чтобы принять этот параметр.
void function_something(const char *file, NSMutableArray *arrayOfThings) {
// Code remains the same
}
Другим и, на мой взгляд, лучшим решением будет возвращение фиксированной строки для function_something.в качестве объекта NSString и пусть someThing выполняет добавление в изменяемый массив.Таким образом, мы получаем что-то вроде этого в someThing :
...
NSString *aString = function_something(theObject_fixed);
[arrayOfThings addObject:aString];
И затем переопределенный * function_something *:
NSString* function_something(const char *file) {
...
return [aString autorelease];
}
Кстати, ваш код утечка памяти,Будьте осторожны с сохранением / разблокировкой / автоматическим выпуском.