Objective-C / UIButton / SetTitle - PullRequest
1 голос
/ 11 мая 2010

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

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

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

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

Спасибо, Apple92

Ответы [ 2 ]

1 голос
/ 11 мая 2010

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

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

0 голосов
/ 11 мая 2010

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

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

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

...