1

UIButtonのsetTitleメソッドは、引数として渡されたNSStringを保持しますか?

プロパティが次のように定義されているという事実に頼ることができると思います。

property(nonatomic、readonly、retain)UILabel * titleLabel

この場合、文字列は保持されていると思います。

ありがとう、Apple92

4

2 に答える 2

1

特に文書化されていない限り、必要なものを保持するフレームワーク クラスを当てにすることができます。これは、Cocoa のメモリ管理規則の一部です。そのドキュメントを読んで理解する必要があります。一度理解すれば、基本的にすべてのメモリ管理に関する質問がなくなるためです。逆に、そのドキュメントを理解するために時間を割かないと、常に不安を感じるでしょう。幸いなことに、それは非常に簡単です。

また、ルールを教えてくれる人に頼りすぎないように注意します。特にスタック オーバーフローのような非公式の環境では、人々は単純化して誤解を招く傾向があり、誤解につながります。その間、公式ルールは何年にもわたって何度も何度も校正されてきました。

于 2010-05-10T23:43:43.610 に答える
0

はい-あなたはそこであなた自身の質問にほとんど答えました。

元のNSStringが何らかの方法で変更される可能性があるため、すべてのAPIが保持されるわけではありません。1つのAPIがNSString参照を受け取る場合がありますが、実際にはNSMutableStringです。

Objective CのGoogleコーディング標準には、これに関するセクションがあります。

于 2010-05-10T23:31:55.133 に答える