私は本当に移動のためにコードを最適化しようとしていますUIImageViews
。
私は自分のすべてを列挙するための主要な方法を持っていUIImageViews
ます。
どちらの列挙がより高速に実行されますか、それとも両方ともまったく同じように実行されますか?
例1:この例では、すべてUIImageViews
を自分UIViewController
のビューで列挙します
for (UIImageView *imageView in self.view.subviews)
{
...
}
例2:この例では、すべてを列挙しUIImageViews
ますNSMutableArray
。配列には常にでUIImageViews
見つかったものがすべて含まれていますself.view.subviews
(これは、self.view.subviewsで通常見つかったすべてのUIImageViewのコピーであり、一度作成するだけで済みます)
for (UIImageView *imageView in self.imageViews)
{
...
}
では、どの例がより速く、より最適化された列挙を提供する必要がありますか?これらは、私が設定したCADisplayLinkによって常に列挙されていることに注意してください。また、self.view.subviews
が返されるNSArray
のでNSArray
、最初の列挙を使用するときにこれが常に作成されている可能性があることにも注意してください。このNSMutableArray
アプローチの方がパフォーマンスが高く、オーバーヘッドが少ないと思いますが、よくわかりません。
編集:すべてのサブビューはUIImageViews
です。また、subviewsプロパティを使用するときに重大なオーバーヘッドがあるかどうかもわかりません。これは、NSArrayを取得するために「舞台裏」の作業を行う可能性があるためです。