NSNumber
が0に等しい場合はNSMutableArray
になります。これはnil
と解釈され、カウント方法に問題がありますか?可変配列のNSNumber = 0
2
A
答えて
2
いいえ、オブジェクトID自体と内容を区別する必要があります。 NSNumber
の内容は0になることもありますが、前記オブジェクトのidは実際には実際のアドレスです。
例えば、オブジェクトID 0x2222
がメモリ内にこのように(非常に単純化された)に見えることがあります。
+--------+
0x2222 --> | 0x0000 |
+--------+
あなたは、オブジェクトIDがないゼロが、実際の値で見ることができます。オブジェクトの内容はゼロですが、オブジェクトIDには関係ありません。
可変配列に入るものは、オブジェクトのid値です。オブジェクトの内容ではありません。
5
これは、配列のカウントをインクリメントします。
[NSNumber numberWithInt:0]
はオブジェクトであり、ゼロではありません。
さらに、あなたは、配列
[mutableArray addObject:anObject];
にnilを追加することはできませんanObjectがゼロである場合NSInvalidArgumentExceptionを発生させます。
1
NSMutableArray *a = [NSMutableArray array];
[a addObject:[NSNumber numberWithInt:0]];
NSLog(@"count: %d", a.count);
関連する問題
- 1. NSNumber = 0の述語
- 2. 可撓性アレイメンバー(長さ0の配列)
- 3. 可変サイズの配列
- 4. グローバル可変配列
- 5. 可変サイズの配列GLSL
- 6. 空の可変配列
- 7. RxSwift filter可変配列
- 8. ベース1配列をベース0配列に変更
- 9. 2D配列を可変列幅の1D配列にマッピング
- 10. 可変長配列C++ラッパーコンテナ
- 11. C++可変マルチペア配列
- 12. SwiftでNSNumber配列を合計する方法は?
- 13. C#可変長文字列配列
- 14. 可変サイズの配列のコンストラクタ
- 15. C99可変長配列ウィキペディアの例
- 16. SSRSのサイズ変更可能な配列
- 17. XDRは可変長配列の配列を返します
- 18. 数値に可変長のバイト配列
- 19. ファイルスコープで可変に配列を変更
- 20. 1と0の配列をバイナリ変数に変換する
- 21. 可変インデックスで配列にアクセスする
- 22. 配列インデックスへのアクセス0、
- 23. 0要素の配列
- 24. クエリ内の可変配列のcouchbaseインデックス
- 25. Python可変長2次元配列
- 26. 配列[beg [0]:end [0]、beg [1]:end [1]、...]
- 27. 配列値0と255を対応する0と1の配列に変換する方法
- 28. MySQL:可変長のインデックスjson配列?
- 29. C可変サイズ2次元配列が
- 30. 可変長2次元配列
あなたはこれを解消しましたか?私は以下の答えが正しいことを知っています。しかし、あなた自身の目でこれを見たなら、NSNumberを格納してその値を保持するNSArrayを作成すると、実行時に配列が半分になることは信じられません。これが事実であるとは想像もしませんが、それは正確にランタイムがしたものです。 – cynistersix
以下の回答が正しいです。 IDEがうんざりして、監視された値を更新しませんでした。 – cynistersix