Цель-C/UIButton/SetTitle

Сохраняет ли метод setTitle UIButton NSString, переданный в качестве аргумента?

Думаю, я могу полагаться на тот факт, что свойство определяется как:

свойство (неатомарное, только для чтения, сохранение) UILabel *titleLabel

В этом случае я думаю, что он сохраняет строку.

Спасибо, Apple92


person user255607    schedule 10.05.2010    source источник


Ответы (2)


arrow_upward
1
arrow_downward

Вы можете рассчитывать на то, что классы фреймворка сохранят то, что им нужно, если иное не задокументировано. Это часть правил управления памятью компании Cocoa. Вы должны прочитать этот документ и позволить ему усвоиться, потому что, как только вы его поймете, в основном все ваши вопросы по управлению памятью исчезнут — и наоборот, если вы не потратите время на то, чтобы понять этот документ, вы всегда будете чувствовать себя неуверенно. К счастью, это довольно просто.

Кроме того, я бы поостерегся слишком полагаться на то, что другие люди рассказывают вам правила. Особенно в неформальной обстановке, такой как Stack Overflow, люди имеют склонность к упрощению и оговоркам, что приводит к недопониманию — между тем, официальные правила были проверены много, много раз за эти годы.

person Chuck    schedule 10.05.2010

arrow_upward
0
arrow_downward

Да, вы в значительной степени ответили на свой вопрос там.

Не все API сохраняются, поскольку исходный NSString может каким-то образом измениться - один API может получить ссылку на NSString, но на самом деле это, например, NSMutableString.

В стандартах кодирования Google для Objective C есть раздел об этом, здесь

person JBRWilkinson    schedule 10.05.2010