問題タブ [nsmutabledictionary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - NSXMLParser の NSMutableDictionary、NSArray でのメモリ リーク
xml ドキュメントの 1 つを解析しているときにメモリ リークが発生して困っています。
NSXMLParser を使用して各ノード (以下の xml サンプルのアルバム) を反復し、次に各写真ノードを反復し、結果を NSArray に追加します。
各ループに 2 つの値を格納する 2 つの保持プロパティがあります。これらの値は、各写真ノードを含む別の NSArray と共に NSMutableDictionary オブジェクトに追加されます。結果の辞書は NSArray に追加され、アプリケーションの他の場所で使用されます。
アプリケーションの特定の時点で xml ドキュメントをリロードするボタンがあります。次に呼び出されるのは、リークが発生したときです。Instruments は、NSCFArray と NSCFString がリークしていることを示しており、didEndElement に表示されています。
一体どこで私は間違っているのでしょう。どんなアドバイスも役に立ちます。
xml の一部を次に示します。
objective-c - Cocoa: NSMutableDictionary で NSSet をキーとして使用することの欠点はありますか?
NSSet
as key inを使用することのマイナスNSMutableDictionary
面、注意すべき落とし穴、パフォーマンスへの大きな影響はありますか?
キーは Cocoa コンテナにコピーされていると思いますが、NSSet が辞書にコピーされるということですか? または、この場合に NSSet を保持する最適化はありますか?
関連項目 NSDictionary は NSSet をキーとして取り込めますか?
コード例:
出力:
iphone - ループ内で NSMutableDictionary の Object を NSMutableArray に追加する方法
配列にデータ構造を追加して、ループから辞書の配列を作成するのが困難です。NSMutableArray の addObject は、それにポインタを追加するだけであることを知りました。目標を達成する方法を知りたいです。
これが私のコードです:
上記のコードから、配列 workOrders には、最後に追加されたオブジェクトの複製のみが含まれます。ここで立ち往生して、正しいデータを表示することができませんでした。
どんな助けでも大歓迎です。
ありがとう
objective-c - NSMutableDictionary スレッド セーフ
使用中のスレッドセーフについて質問がありますNSMutableDictionary
。
メイン スレッドは次のNSMutableDictionary
場所からデータを読み取ります。
- キーは
NSString
- 値は
UIImage
非同期スレッドが上記の辞書にデータを書き込んでいます (を使用NSOperationQueue
)
上記の辞書をスレッドセーフにするにはどうすればよいですか?
NSMutableDictionary
プロパティを作成する必要がありますatomic
か?または、追加の変更を加える必要がありますか?
@property(retain) NSMutableDictionary *dicNamesWithPhotos;
iphone - 辞書をクリアする方法は?
私は現在、NSMutableDictionaryをクリアするために次のことを行っています
リリースラインは、実際にはディクショナリ内のオブジェクトをリリースしません。私はまだ次の行でそれらのすべてを見ることができます。ディクショナリがゼロになるのは、alloc行が実行されるまでです。それを行うためのより良い方法はありますか?
iphone - NSMutableDicitonary を NSMutableArray に詰め込む
次の宣言があります。
表示されたときにnull値を取得NSMutableArray(dataArray)
します。どうすればこれを解決できますか?または、可能であればNSMutableDicitonary
、テーブル ビュー セルにデータを表示する方法に関する知識を教えてください。
objective-c - 配列を使用せずに NSMutableDictionary に複数のキーと値を追加するにはどうすればよいですか?
すべてのキーを配列に追加して辞書の片側に追加できることは知っていますが、辞書の特定のポイントに値を追加または挿入する方法に興味があります。私が今持っている方法では、新しいエントリのためのスペースを空けるために最後のエントリを上書きし続けるだけだと思います:
出力は次のとおりです。
2010-01-13 11:08:51.484 割り当て_1b[6035:a0f] http://www.apple.com
iphone - 多次元の NSMutableArray を格納および取得する最良の方法は何ですか?
私は大量のデータを .plist ファイル (アプリケーション ドキュメント フォルダー内) に保存しています。これは次のように構成されています。
で取得しただけでは
NSMutableDictionary *d = [[NSMutableDictionary alloc] initWithContentsOfFile:plistFile]
、数値オブジェクトを置き換えることはできませんよね?だから私は今、データを再帰的に調べて、全体の変更可能なバージョンを形成しています.1つのインスタンスでは機能しましたが、今でmutating method sent to immutable object
は全体がいつ変更可能かを教えてくれます.
これを行うためのより簡単な/より良い方法はありますか? それが違いを生む場合、私のデータは単なる整数とブール値です。
objective-c - NSMutable 辞書にアクセスするための Objective-C の for each ループ
Objective-C で変更可能な辞書のキーと値にアクセスするのが難しいと感じています。
私がこれを持っているとしましょう:
キーと値を設定できます。今、各キーと値にアクセスしたいだけですが、設定されているキーの数がわかりません。
PHPでは、次のように非常に簡単です。
Objective-Cではどのように可能ですか?