1

これが尋ねられた場合は許してください。SOで十分な検索を実行しませんでした。

スーパービューから各サブビューを削除しながら、サブビューの配列を列挙するために次のことを行っています。

for( NSView *subview in [[self subviews] copy])
{
    [subview removeFromSuperview];
}

正常に動作しますが、単に配列をコピーするのではなく、このループを実装するより適切な方法はありますか?

4

2 に答える 2

2

NSViewsubviewsゲッターは、コピーせずに可変配列を直接返します。したがって、特定のサブビューを削除したい場合、その方法はコピーすることです。それ以外の場合、特定のケースでは、すべてのサブビューを削除したいので、そのサブビューを空の配列に設定するだけです:

[self setSubviews: @[] ];
于 2013-07-04T23:56:04.393 に答える