私は本当に移動のためにコードを最適化しようとしています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を取得するために「舞台裏」の作業を行う可能性があるためです。