Если мне передали параметр методу, я должен выпустить параметр в конце метода?
№. Подумайте NARC : «Новая копия с сохранением размещения». Если вы не делаете ничего из этого, вам не нужно отпускать.
Вам нужно освободить их, только если вы сохраните
их в своем методе. По соглашению вызывающий отвечает за то, чтобы объекты, переданные в качестве аргументов, существовали, по крайней мере, до тех пор, пока активен вызов.
Пожалуйста, прочитайте Руководство по управлению памятью в Cocoa. Следующее правило относится к вашему вопросу:
Вы становитесь владельцем объекта, если создаете его с помощью метода, имя которого начинается с "alloc" или "new" или содержит "copy" (например, alloc, newObject или mutableCopy), или если вы посылаете ему сообщение retain. Вы несете ответственность за отказ от владения объектами, которыми вы владеете, используя release или autorelease. В любое другое время, когда вы получаете объект, вы не должны его освобождать.
Очевидно, что вы не получили параметры, создав их (в своем методе). Поэтому единственная часть, о которой вам нужно беспокоиться, это сохранили ли вы их в методе. Если да, то вы должны освободить или автоосвободить их. Если нет, то вы не должны их освобождать или автоматически освобождать.