0

私のクラスの 1 つに、アイテムと呼ばれる派生プロパティがあります。基本的には次のようになります。

- (NSArray *)items
{
    [self.unsortedSet.allValues sortedArrayUsingDescriptor:...];
}

次に、他の場所で:

[self.items enumerateUsingBlock...{
    // do something with item
}]

この場合、self.items に X 個の項目がある場合、列挙ブロックは self.items を X 回生成しますか? または、次のほうが安全ですか。

NSArray *sortedItems = self.items;
[sortedItems enumerateUsingBlock...{}]
4

1 に答える 1

0

次に、列挙ブロックは self.items を X 回生成しますか?

いいえ、一度だけです。これはセマンティクスと効率のためです。

それとも…の方が安全ですか?</p>

セマンティクスは実装によって異なります。

于 2012-10-02T00:54:13.357 に答える