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. 可撓性アレイメンバー(長さ0の配列)
- 2. グローバル可変配列
- 3. RxSwift filter可変配列
- 4. 空の可変配列
- 5. ベース1配列をベース0配列に変更
- 6. 可変長配列C++ラッパーコンテナ
- 7. C++可変マルチペア配列
- 8. C#可変長文字列配列
- 9. 可変サイズの配列のコンストラクタ
- 10. C99可変長配列ウィキペディアの例
- 11. SSRSのサイズ変更可能な配列
- 12. 配列インデックスへのアクセス0、
- 13. 0要素の配列
- 14. ファイルスコープで可変に配列を変更
- 15. 可変長2次元配列
- 16. MySQL:可変長のインデックスjson配列?
- 17. [JAVA]配列java.lang.ArrayIndexOutOfBoundsException:0エラー
- 18. Malloc、可変長配列または静的配列?
- 19. 可変長からint配列への文字列?
- 20. 配列からNSNumberをランダムに選択しますか?
- 21. 配列にNSStringとNSNumberを入れるメソッド
- 22. MySQLで可変配列(VARRAY)を追加
- 23. atoi文字列の一部を配列[0]に配置する
- 24. PHP:私は可変サイズウィッヒの配列を持っている別の配列
- 25. 可変長のnumpy再配列文字列
- 26. 配列インデックス変数がC、C++で0にリセットされます
- 27. 0-1無限整数配列のナップザック?
- 28. 。下限のネット配列> 0
- 29. 名前付きdtype配列:[0] ['name']と['name'] [0]の違いは?
- 30. [NSNumber numberWithDouble:]を使用してNSNumberに変換する
あなたはこれを解消しましたか?私は以下の答えが正しいことを知っています。しかし、あなた自身の目でこれを見たなら、NSNumberを格納してその値を保持するNSArrayを作成すると、実行時に配列が半分になることは信じられません。これが事実であるとは想像もしませんが、それは正確にランタイムがしたものです。 – cynistersix
以下の回答が正しいです。 IDEがうんざりして、監視された値を更新しませんでした。 – cynistersix