NSFileHandle -readDataOfLength: возвращает автоматически освобожденные NSData? - PullRequest
1 голос
/ 27 августа 2011

Когда я вызываю readDataOfLength: в экземпляре NSFileHandle, нужно ли освобождать возвращенное NSData? В настоящее время я не, но я хотел бы избавиться от этого ноющего сомнения.

Ответы [ 2 ]

4 голосов
/ 27 августа 2011

Неа. правила управления памятью Какао говорят, что вы владеете (и, следовательно, должны освобождать) объектами, возвращенными из метода, имя которого содержит один из " new ", " alloc "," сохранить"или" копия"( NARC ).Поскольку этот метод не содержит ни одного из них, вы знаете, что вам не нужно его выпускать.

1 голос
/ 27 августа 2011

Стандарт, который соблюдается очень последовательно в библиотеках Objective C, заключается в том, что метод, начинающийся с «alloc» или «copy» (и, я думаю, какой-то другой неясный глагол) возвращает сохраненный объект, в то время как все остальное возвращаетобъект автоматического освобождения.

Любые исключения должны быть хорошо документированы в спецификации.

...