2

IBでUIを作成するとき、アクションのあるボタンをよく使用しましたが、ViewControllerがこのボタンにアクセスする理由はありません。

ボタンのテキストは変更されません、ボタンの画像は変更されません、移動することはありません...

このため、IBOutletプロパティを指定せず、VC内の何にも接続しません(もちろんアクション以外)。

私が読んだSOにも同様の質問があり、そこでの議論はメモリ管理の問題になります。その質問は、ARC以前の2011年初頭からのものです。私のすべてのIBOutletプロパティがとにかく弱いことを考えると、メモリはビューコントローラではなくスーパービューによって処理されます。そのため、その質問で言及されている問題は今や議論の余地があります。

今それらを接続する理由はありますか?彼らは常につながりを持つべきですか?もしそうなら、なぜですか?

4

2 に答える 2

7

簡単な答え:いいえ。

IBOutletsは、UIの要素を参照するために必要です。

そのような要素にアクセスする必要がない場合は、それらを接続する必要はありませんIBOutlet

于 2013-01-26T01:30:51.613 に答える
1

答えはノーです。

しかし、誰かがこの質問/回答を見てガンホーになり、未使用の IBOutlets をすべて削除した場合に役立つヒントがあります。

UIElement の IBOutlet を削除する場合は、IB 内の UIElement が存在しないアウトレットを参照していないことを確認してください。そうしないと、奇妙なクラッシュが発生し、解決するのにかなりの時間がかかります。

これは、私を何度も悩ませてきた問題です。これが Xcode の最新バージョンで修正されているかどうかはわかりませんが、確認する方が安全です。

于 2013-01-26T02:16:23.493 に答える