Я пишу метод в Objective-C, который должен возвращать строку на основе ввода NSMutableArray. Я не собираюсь, чтобы вызывающие меняли строку, но все равно не заботились. тока Подпись метода гласит:Управление памятью и право собственности при возврате NSString из метода
- (NSMutableString *) generateString:(NSMutableArray *)myArray
В настоящее время проект командной строки Foundation Tool, чтобы узнать веревки, но это будет в конечном счете, в конечном итоге в приложении iPhone.
Мои вопросы:
- было бы более разумным, чтобы вернуть NSString?
2) При возврате NSMutableString следует использовать autorelease? Если вы рекомендуете мне вернуть NSString, как это изменить, верните его?
3) Если я также хочу вернуть объект ошибки, идентифицирующий, произошла ли ошибка, возможно, перечисление и строка, как работает собственность в этом случае? Метод не называется alloc, new или copy, так как бы узнал вызывающий? Как я могу вернуть выделенный объект ошибки в дополнение к строке в указанном выше методе?
Спасибо!
только примечание, не знаю, имеет ли он отношение к вам, но вы можете получить 'NSString' из' NSArray' следующим образом: 'NSString * myString = [myArray componentsJoinedByString: @" "];' – filipe
Спасибо filipe, я этого не знал. Это гладкая идея, но в этом случае я не буду работать, так как существует необходимая логика, влияющая на то, как создается финальная строка. – BigBrother