2010-05-10 3 views
1

Поддерживает ли метод setTitle UIButton значение NSString, переданное как аргумент?Objective-C/UIButton/SetTitle

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

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

В этом случае, я думаю, что это действительно сохраняет строку ,

Спасибо, Apple92

ответ

0

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

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

Google coding standards for Objective C есть раздел об этом, here

1

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

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