web-dev-qa-db-ja.com

NSSetからNSMutableArrayを返す方法

次のようにNSSetの内容をNSMutableArrayに入れることができます。

NSMutableArray *array = [set allObjects];

[set allObjects]がNSArrayではなくNSMutableArrayを返すため、コンパイラは文句を言います。これはどのように修正する必要がありますか?

103
node ninja

-allObjectsは配列を返します。以下を使用して可変バージョンを作成できます。

NSMutableArray *array = [NSMutableArray arrayWithArray:[set allObjects]];

または、代わりに、オブジェクトの所有権を処理する場合:

NSMutableArray *array = [[set allObjects] mutableCopy];
215
dreamlax