0

NSMutableString が提供されている場合に発生する可能性がある問題のために、保持するよりも NSString の @property でコピーを使用する方がよいことがわかりました。同じ条件が NSArray 、 NSDictionary 、 NSMutableData にも当てはまりますか?

4

1 に答える 1

0

保持する際の問題とは、データが予期せず変更される可能性があることを意味していると思います。

文字列またはコレクションを使用している状況で上記が予期しない場合は、コピーの使用を検討します。したがって、文字列、コレクション、またはその他のオブジェクトの既知のコピーを維持できますが、それについて知らなくても変更されることはありません。

ただし、変更不可能なコレクションまたは文字列にコピーするのではなく、retainを使用する理由は他にもある可能性があります。内容が変更される可能性があることを受け入れることができますが、プロパティでNSArrayを使用して、コンテナを使用するオブジェクトがそれ自体を変更しないことを示します。

NSStringプロパティは、おそらくコピーを使用したいと思うでしょう。コレクションは異なる場合があります。要件を確認し、状況に最適なものを確認してください。

于 2011-05-20T12:09:59.723 に答える