2017-05-16 45 views
0

興味があるだけ、スウィフトに、(例えばAPIからの)新しい辞書に空のNSMutableDictionary変数、NSMutableDictionary = [:]、後に再割り当て、その値を初期化することが、より理想的であるSwift - 空のNSMutableDictionaryまたはNSDictionary?オプション

OR、それはオプションのNSDictionary、NSDictionary?を宣言し、それを新しい辞書に割り当てる方が良いでしょうか?

+0

「NS(Mutable)Dictionary」よりSwift「Dictionary」を使用する方が良いでしょう。また、オプション性は、「応答なし」と「空の応答」の違いを伝えることができるかどうかによってまったく異なります。 – Hamish

答えて

0

これはニーズに応じて、時にはゼロにしたいですか?時にはそれは無しですか? 配列が常に値を持つことになっている場合、空の値であっても、私は個人的にはすぐに初期化したいと思います。

2つの配列がある場合、1つは通常の配列で、2つ目は検索結果です。検索された結果が最初にnilであるかどうかをチェックしたい場合は、それが表示されていれば、array1を表示してください。

これは「時々」だけを検索することを意味しているため、配列はたまにしか使用されないため、ほとんど使用していない場合は使用しないときに割り当てを解除することもできます。

編集:私の例では配列を使用していましたが、そのような状況の辞書でも同じことが言えます。 編集:スウィフトで 'NS'クラスを避けるのが最善です。時にはそれらを使用する必要があります。しかし、スウィフトの辞書は仕事をしています。

例:

var sometimesUselessDict: Dictionary<String, AnyObject>? 
var alwaysUsedDictionary = Dictionary<String, AnyObject>() 

乾杯

0

だからスウィフトと、技術的に辞書の種類を使用することをお勧めだろう。たとえば、次のようになります。

ディクショナリ全体が必要な場合は、オプションで使用できます。

0

空である辞書と全く存在しない辞書を区別できる必要がある場合にのみ、オプションにする必要があります。たとえば、サーバーからデータを受け取っている場合、データを返さなかった正常な応答(空の辞書)と失敗または無効な応答(nil)を区別したい場合があります。

この区別が重要でない場合は、不要なアンラッピングを避けるために、私は常にオプションではありません。

関連する問題