問題タブ [nsdictionary]

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.

0 投票する
2 に答える
2782 参照

iphone - 構造化された NSDictionary へのクエリ文字列の解析

クエリ文字列があります: a=1&b=2&c[1]=3&c[2]=4etc…</p>

、 NSDictionary が必要a => 1ですb => 2, c => [3,4]。c の値が配列であることに注意してください。c[1][2]=5また、配列の配列を作成するようなことも処理できる必要がありますc => [[5]]

もちろん、&=で分割することで自分で行うこともできますが、配列や配列の配列などの他の場合はどうでしょうか。POST リクエスト queryString から構造化された NSDictionary が必要で、これが既に存在する場合はホイールを書き換えたくありません。

クエリ文字列を構造化された NSDictionary に解析する、Apple またはサードパーティによるクラス/メソッドはありますか?

0 投票する
2 に答える
1949 参照

iphone - AppDelegateからViewControllerにNSDictionaryを渡す

これは私が以前に尋ねた質問に関連していますが、元の質問に答えました。新しい質問を開いても問題ないことを願っています。そうでない場合は、遠慮なく削除してください。

テーブルビューとタブバーを使用して、簡単なiPhoneアプリケーションを作成しようとしています。タイトルと表示する必要のあるデータの種類を除いて、すべてのビューはプログラムで同じです。それを除いて、それらはすべて同じように動作します。

現在、私のAppDelegateのコードは、ビューコントローラのさまざまなタブへの配布を処理し、それに応じてタイトルを設定します。ただし、私が理解できないのは、オブジェクトの特定の配列(すべての配列はタブごとに異なります)を各分散ビューコントローラーに渡して、テーブルビューで使用されるようにする方法です。

あなたが私を助けてくれることを願っています。私のコードは以下の通りです:

AppDelegate.h

AppDelegate.m

RootViewControllerは、UITableViewDataSourceプロトコルを実装します。

0 投票する
3 に答える
112195 参照

iphone - NSDictionary にどのように格納できますか? NSDictionary と NSMutableDictionary の違いは何ですか?

を使用したいアプリケーションを開発していますNSDictionaryNSDictionaryを使用してデータを保存する方法を完璧な例で説明するサンプルコードを送ってもらえますか?

0 投票する
1 に答える
15601 参照

objective-c - XCode で配列の配列を作成する

Xcode でディクショナリ オブジェクトの配列を含む配列を作成しようとしています。1 つ以上の辞書を含む作業配列を作成し、addObject: メソッドを使用して、この配列をオブジェクトとしてメイン配列に追加できます。これを数回繰り返して、作業配列を再構築し、オブジェクトをメイン配列に追加します。私のメイン配列を調べると、作業配列が構築された最後の辞書の複製が含まれていることを除いて、これまでのところすべて問題ありません。これは、addObject を使用すると、配列にポインターが割り当てられるだけで、保持カウントが増加したり、作業配列のコピーが作成されたりしないため、再構築されるたびに、メイン配列が単純にこの配列を指しているためであると想定しています。 .

私の質問は、作業配列のコピーを作成してメイン配列に追加し、それを再構築して再度追加する方法だと思いますか? これが基本的な質問であると思われる場合は、それが理にかなっており、申し訳ありません.


これはすべて機能します。これは素晴らしいことです。私がまだ頭を抱えていないことの1つは、メイン配列を使い終えて[mainArrayリリース]も行うと、これらの子配列がメモリに残されるか、リリースが破棄される危険性があるということです彼らも?


すべてのオブジェクトを削除するのではなく、内部の作業配列を再初期化することで解決しました。つまり、

私は持っていました:

そしてそれを次のように変更しました:

これは良いことではないと感じていますが、あちこちでメモリリークが発生し始めます。

0 投票する
4 に答える
2541 参照

iphone - Objective-C の辞書での nil の使用の置き換え

私は IPhone SDK で作業しており、objective-c にはかなり慣れていません。現在、NSUserDefaults を使用して、IPhone アプリの設定を保存および復元しています。作成したクラスを保存するために、それらを辞書形式にエンコードしてから、NSdictionary を保存します。

私の問題は、妥当な方法で非値 (つまり、nil のクラス変数) をディクショナリに格納する妥当な方法が見つからないことです。より具体的に言うと、「Dog」というクラスがあり、NSString *tail-color があるとします。尻尾のない犬のクラス インスタンスを保存しようとしているとしましょう。そのインスタンスの尻尾の色は nil です。犬を辞書として保存する合理的な方法は何ですか? nil を NSdictionary に保存することはできません。@"" は良くありません。if(@"") を実行すると、@"" が true になるからです。nil のように false にしたいです。

私の質問が理にかなっていることを願っています。あなたの助けに感謝します!

0 投票する
1 に答える
5126 参照

cocoa - AppDelegate RootController.m から、さまざまなクラスからアクセスされている

私の問題は、コントローラー(たまたま私のrootViewController)から別のビューに情報を取得することです。アプリデリゲートを介してアクセスしようとしても、機能させることができませんでした。これを行う方法を見つけましたが、このインターンにより、モーダルビューコントローラー内のビューを実際にデータを表示するという別の問題が発生しました。以下に、appDelegate 情報と、支援が必要な場合に備えて NSMutable Dictionary ソリューション コードの両方を投稿しました。

私はこの問題を自分で解決するために1週間以上試みました. 私の問題は、appDelegate にアクセスする方法でした。そのため、NSDictionary に問題がありました。結局、問題は NSDictionary ではありませんでした。

まず、私がプログラミングをやり過ぎていることに気づき、正しい方向に向けてくれた TechZen に感謝します。

これが私が学んだことです。

appDelegate で変数を割り当てます。

AppDelegate.h

AppDelegate.m

ViewController.m で、変数を appDelegate に割り当てます。これは、tableView 関数の didSelectRowAtIndexPath 内で行いました。

ビューコントローラーで、appDelegate から変数をロードしたいので、次のように設定します。

およびviewController.mファイル内。

.....そして、あなたが今欲しいものにそれを割り当ててください!

これがすべての人に役立つことを願っています。この時点で、そこから NSArray を NSDictionary にドロップできますが、アクセスはキーと値を使用するようになったため、この時点でのアクセスは少し複雑になりますが、もちろん利点があります。私はまだそれを完全にダウンさせることはできず、そのメソッドから離れて、今のところ NSArray を使用するだけです。

以下は、Maker の h および m ファイルのサンプルです。

およびその Maker.m ファイル。

私は本当に多くの時間を費やしたので、これが他の人がこれを理解するのに役立つことを願っています.

カーク

0 投票する
1 に答える
746 参照

iphone - NSKeyedArchiverを使用して保存されたNSMutableArray内のNSDictionaryから文字列を読み取る際の問題

一連のNSDictionariesを使用して一部のデータを保存し、NSMutableArrayに保存し、NSKeyedArchiverを使用してアーカイブします。

基本的に、クラス「Brick」のいくつかのインスタンスの状態を保存しようとしているので、このようなgetBlueprintメソッドを実装しました(スリム化バージョン)

そのため、ブループリントが提供されたときに新しいBrickインスタンスを作成する別のメソッドがあります。

これは、「新しい」ブループリントを渡すと機能しますが、保存されたファイルからブループリントを読み取ると機能しません...ある種。たとえば、回転は機能しますが、色を変更しても機能しません。だから私はbrickColorの値を使用して読むことができますが

私が次のようなことをしようとすると

そして、私は色が紫であることを知っています、条件は真に戻りません。どういうわけかNSKeyedUnarchiverが文字列を別のものに変更したのではないかと思いましたが、次のテストはtrueを返します。

私が言ったように、ブループリントがアーカイブされてから読み戻された場合にのみ、新しく作成されたNSDictionaryをブループリントとして使用しようとしても、これは問題ではありません。

だから、いつものように、なぜこれが起こっているのか誰かが何か考えを持っているのだろうかと思います。

関連する場合は、次のようにデータを保存および受信します。

質問の混乱について申し訳ありません。自分自身を完全に理解するのに苦労していることがたくさんあるので、それを最小限に分解するのは難しいです。

0 投票する
3 に答える
2092 参照

objective-c - NSNullがinitWithDictionaryをクラッシュさせる

JSONファイルを解析しています。

NSDictionaryを取得した後、辞書内のオブジェクトをオブジェクトの配列に解析します。ただし、特定のJSONファイルの場合、NULLを取得します。これは問題ないはずですが、何かを期待しているのにnullを取得している場所では、アプリがクラッシュします。

0 投票する
4 に答える
1020 参照

objective-c - データを表示するための NSTableView を取得できません

これについて多くの質問があるようですが、この作業を行うのに何も役に立ちませんでした。3 つの列 (適切な識別子が設定されている) を持つ NSTableView と、ShortcutsTableController という名前のクラスを持つペン先があります。nib には、クラス値 ShortcutsTableController を持つ NSObject があります。また、通常どおり NSTableView をコントローラーに接続しました。

これはヘッダーShortcutsTableController.hです。

これが実装ファイルですShortcutsTableController.m

しかし、ビルドしようとすると、NSTableView に何も表示されません。エラーも警告もありません。Delegate Class Method 内から setUpTable を呼び出すことに注意してくださいawakeFromNib

私が間違っていることはありますか?助けてくれてありがとう。

――アルベ

アップデート。@property (assign) IBOutlet NSTableView *shortcutsTable;ヘッダーと@synthesize shortcutsTable;実装に行を追加しました。何も変わりません。:(

0 投票する
2 に答える
1858 参照

iphone - Objective C の MGTwitterEngine を使用した検索結果の解析

私は Matt Gemmell の素晴らしい MGTwitterEngine を iPhone プロジェクトに使用していますが、Obj-C と JSON の解析に慣れていないため、単純な作業がかなり困難に思えます。

このリンクを読みましたが、データがどのように構造化されているかを理解するのに役立ちますが、まだ解析できないようです。

getSearchResultsForQuery の出力の NSLog を次のように実行すると:

コンソールでこれを取得します:

奇妙なことに、私は count:5 を持っていますが、さらに多くの結果が得られています。

実際の解析では、出力を NSArray に保存してから、たとえば valueForKey:@"text" でクエリできる NSDictionary に保存しますか?

2 つのデリゲート メソッド (requestSucceeded: と searchResultsReceived:forRequest: ) も呼び出されていることは知っていますが、これが解析にどのように影響するかはわかりません。

searchResultsReceived:forRequest: の実際のデリゲート メソッドは次のとおりです。

これは、結果が変数 searchResults によって実際に格納されていることを示唆しています。

それでも、個々の文字列を取得するにはどうすればよいですか?

助けてくれてありがとう!