シナリオ1:UIViewControllerの場合、(1)UIViewのivarを作成して、外部の1つまたは2つの関数で再度アクセスする方がよいloadView
でしょうか。または、(2)タグを付けてから、他の関数で再度アクセスするためにloadView
使用する必要がありますか?- (UIView *)viewWithTag:(NSInteger)tag
オプション1は、ポインタのサイズ、つまり32/64ビットでメモリを増やし、アクセサメソッドを作成し(宣言@property
&と仮定@synthesize
)、ivarを解放してにdealloc
設定する必要があると推測しています...そのオプション2はメモリを節約し、セットアップコードは少なくなりますが、タグでビューを見つけるために処理時間と少し余分なコードが必要になります。私はこれについて正しいですか?nil
viewDidUnload
このシナリオでは、ivarを使用するのが最適ですが、よくわかりません。
シナリオ2:5つのサブビューを持つUIViewのカスタムサブクラスはどうですか?一度にこのカスタムサブクラスのインスタンスがメモリに約30個あることを念頭に置いて(これらはtableViewCell
sのサブビューになります)、サブビューに5つのivarを使用する必要がありますか、それともすべてにタグを付ける必要がありますか?
このシナリオでは、それらすべてにタグを付けることによって節約されたメモリは、でそれらを検索するという小さなパフォーマンスヒットの価値があると思います- (UIView *)viewWithTag:(NSInteger)tag
。
考え?
ありがとう!
マット