dictionaryWithDictionary
メソッドを使用してNSDictionary
を作成しようとしています。しかし、私の最初のNSDictionary
は、空の値を持ついくつかのキーを持つかもしれません。空の値を持つキーを持たないBを作成するにはどうすればよいですか?私はNSDictionary
の各空でないキーに対応する行をUITableView
に設定するために、このすべてを行っています。空の値を持たないNSDictionaryをコピーしていますか?
答えて
:
NSMutableDictionary *destDictionary = [NSMutableDictionary dictionaryWithCapacity:[sourceDictionary count]];
NSEnumerator *keyEnumerator = [[sourceDictionary allKeys] objectEnumerator];
id key;
while (key = [keyEnumerator nextObject])
{
NSString *object = [sourceDictionary objectForKey:key];
if ([object length] == 0)
continue;
[destDictionary setObject:object forKey:key];
}
値には何が入りますか? –
私のコード例では 'object'が 'value'として始まりました - そして、私はすべての 'value'を 'object'に変更することを怠りました。サンプルが修正されました。あなたが望むなら、(!object)の代わりに(object == nil)と言うことができます。 – westsider
優秀な例!残念ながら、それはうまくいきません。私は値がすべて空白( "")に送られても、キーが存在する限りオブジェクトが存在すると思います。私はそれを回避する方法がわかりません。 –
ます。また、その値の長さを持っており、そこからあなたの新しい辞書を作成したキーをフィルタリング、ブロックテストを使用することができます。
NSSet *keySet = [dictionary keysOfEntriesPassingTest:
^(id key, id obj, BOOL *stop) {
return (BOOL)[obj length];
}];
NSArray *keys = [keySet allObjects];
NSArray *nonEmptyObjects = [dictionary objectsForKeys:keys notFoundMarker:@""];
NSDictionary *newDict = [NSDictionary dictionaryWithObjects:nonEmptyObjects
forKeys:keys];
- 1. NSDictionaryの値iが値に含まれているNSDictionaryのを持っていると私は、次のコード使用して値を取得しようとしている。この値 を取得する必要がありますNSInteger
- 2. NSDictionaryのコピー
- 3. コピーを持たない配列スタックアルゴリズム
- 4. メソッドはeactオブジェクトに対して異なるコピーを持っていますか?
- 5. $ _POSTを持つフォームがデータベースに空の値を送信しています
- 6. NSDictionaryキーとしてNSViewインスタンスを使用していますか?
- 7. NSDictionaryキーとしてintを使用していますか?
- 8. NSDictionaryの中からNSArrayリストを表示していますか?
- 9. UIViewControllerは機能を持たない空白になります
- 10. 個々のネストされたNSDictionaryをNSDictionaryから一時的なNSMutableDictionaryにコピーする方法
- 11. 未使用の名前空間を持たないxmlをコピーするためのXSL
- 12. 誰でもosxcryptソースコードのコピーを持っていますか?
- 13. XQuery - 別個の値を持たない一意の値を返します
- 14. コピーするかコピーしないかを指定してください
- 15. 配列の深いコピーまたは浅いコピーを複製しますか?
- 16. nullをコピーし、空でないフィールドを同じタイプの別のオブジェクト(オブジェクトは同じタイプ)にコピーします
- 17. 負の値を持たないJSpinner
- 18. デフォルトのコンストラクタを持たないデフォルト値
- 19. 私は空の値を持つ10個の配列を持っている
- 20. NSDictionaryがCGRectを正しく保存していませんか?
- 21. Maven:サブディレクトリ構造を持たないファイルをコピーする
- 22. NSUserDefaultsがNSDictionaryを保存したくないのはなぜですか?
- 23. JSpinnerの値が空でない条件を表します。
- 24. Scala AnyRef.cloneは、浅いコピーまたは深いコピーを実行しますか?
- 25. 空のフォルダをazcopyでコピーします。
- 26. ファイルをコピーしていないMavenリソース
- 27. Mysqli->エラーが空白の値を返しています
- 28. NSDictionaryが空であることを確認してください。
- 29. キー奇妙な動作としてNSNumberを持つNSDictionary
- 30. as.matrixは空のdata.frameのデータモードを保持していません
この場合、「空の値」とは何ですか。 NSDictionaryは 'nil'値を許可しません。 –
変数が空白のキーです。 –
これはまだ助けにならない、辞書の値は何でも、NSString、NSNumber、独自のカスタムクラスさえできます。辞書に特定のキーの値が含まれていない場合、 'objectForKey:'は 'nil'を返します。あなたの値が長さゼロの文字列または '[NSNull null]'の値である場合は、私たちにお知らせください。 Cocoaには "空の変数"というものはありません。 – dreamlax