問題タブ [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.

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

iphone - NSMutableDictionary は、doesNotRecognizeSelector を objectForKey? にスローします。

私は iPhone プログラミングの完全な初心者であり、頭を包むことができないという例外がスローされることに遭遇しました。

背景: エラーはカスタム サブビューで発生しており、プログラムをロードするとすぐに発生します。オーバーライドされた drawRect メソッドで例外がスローされます。エラーをスローするコードは次のとおりです。

starPaths は、容量 1 の NSMutableDictionary として awakeFromNib で初期化されます。

スローされる例外は -[NSObject doesNotRecognizeSelector:] です

starPaths は、ビューのヘッダー ファイルで次のように宣言されています。

として初期化されます

最後に、エントリを追加するコードは、辞書からの nil 応答の受信に依存して、その特定のエントリが構築されます。

助言がありますか?他に提供すべき情報はありますか?明らかな何かが欠けているように感じますが、運が悪くて一日中これに頭を悩ませてきました。

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

objective-c - NSMutableDictionaryの変更を監視する

NSMutableDictionaryの異なるキーの下に保存されている値の変更を監視(サブスクライブ)することは可能ですか?私の場合、サブスクリプションが開始されたときにキーはすでに存在していましたが、値が変更されたため、この場合は通知を受け取りたいと思います。通知に変更された値のキーをお願いします。

辞書キーがすべてNSStringインスタンスである場合、各キーパスを個別にサブスクライブできると思います。しかし、私のキーが文字列以外の場合はどうなりますか?その場合、私は運が悪いのでしょうか?

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

objective-c - オブジェクトを追加する NSMutable Dictionary

オブジェクトを NSMutable Dictionary に追加する単純な反復よりも効率的な方法はありますか?

例:

好奇心旺盛ですが、これがやらなければならない方法だと確信しています。

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

iphone - plist への書き込みに関する問題

メソッド(以下に示す)を呼び出してファイルをディスクに書き戻すまで、すべてが正常にsaveFile機能していますが、そこでクラッシュします。私は何を間違っていますか?

これはviewDidLoad、ファイルを開く方法の一部であり、正常に機能します。

次に、それをテーブルビューにロードします。次に、それにいくつかの新しいアイテムを追加します。これは正常に機能します。次に、このメソッドを呼び出して保存すると、クラッシュします。

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

iphone - NSMutableDictionary のキーにアクセスするにはどうすればよいですか?

私は、スタンフォード大学の iPhone プログラミングが完全に打ちのめされていることを認識しています (私は確信しています)。URL でキーを出力する方法を見つけるのに少し苦労しています。また、スタンフォードで始まるキーのみを印刷する方法もわかりません。私はそれが NSString のメソッドであることを知っています。

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

objective-c - 私のxmlparserクラスから私の辞書ツリーを取得する..私のdrilldowntableappdelegateファイルに

おそらく初心者の問題があるようですが、ここにあります。パーサー クラスから辞書を取得するにはどうすればよいですか。パーサー クラスは、ドリル ダウン テーブルのツリーを構築して、drilldowntabledelegate クラスに戻します。私のアプリは次のようになります。

私のパーサーファイルは次のようになります

私はインターネット中からインスピレーションと情報を得てきました

  1. 私のアプリで読み込むことができる素敵なツリーを構築する (writetoFile でテスト)
  2. xmlparsing は動作します (私はまともな xmlfile )
  3. ドリルダウンテーブルの例

結論:パーサーによってビルドされた(パーサーによってビルドされた)ツリーを自分の drilldowntableappdelegate に取得するにはどうすればよいですか?

ps。これが機能しない場合は、デリゲート ファイルにパーサーを作成することもできます (ずさんなことは知っていますが、塗りつぶされたツリーはそこで機能すると思います)。

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

objective-c - NSDictionaryファイルで対応する値(または他の何か)を持つ文字列を探します

必要な文字列とIDを使用してNSMutableDictionaryを作成しました。
これは、少しこのようになります。

| |

|| -Item1(キー演習と文字列:テスト+キーIDと文字列:OIK74で構成されます

|| -Item2(キー演習と文字列:testing3 +キーIDと文字列:424REで構成されます)

|| -Item3 (キー演習と文字列:testing5 +キーIDと文字列:RET23で構成されます

もちろん、Exercise文字列に対応するキーIDを検索するにはどうすればよいですか。

配列では、containsObjectを使用して比較できます。

同じことをして、対応する文字列を取得したいと思います。たとえば、これを実行したいと思います(人々がアイデアを得ることができるようにするため)

ThisDictionary containsObject LookForObject

そして、キーID = OIK74を見つけたら、それを使って文字列テストを行いたいと思います。私はxmlparsingを使用してこの検索を実行しましたが、IDと対応する文字列を取得するためのより高速な方法が必要だと思っていました。

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

objective-c - NSDictionary setValue:

わかりました、これは私を狂わせています - 私が正気ではないことを教えてください!

私は宣言する:

私は私の.h

私は初期化します:

ビューに表示されます

私は設定しました:

メソッドで:

そして、「NSMutableDictionary が setValue:forkey: に応答しない可能性があります」というメッセージが表示され、実行時にアプリがクラッシュします。

助けてください :(

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

iphone - iPhone のテーブル ビューでダウンロードしたコンテンツから配列を PList に保存する

最近投稿したフォーラムからこれらの投稿をコピーしましたが、返信がありませんでした。

コードのすべてのセットアップのベースがあります。これは、意図的に空の値を持つ plist から nsmutabledictionary にデータをロードするナビゲーションコントローラーを備えたドリルダウンテーブルです。コマンドを実行すると、アプリは情報をダウンロードし、その情報が setValue として NSMutableArray に設定されます。問題は、この NSMutableArray が plist のルートから 3 レベル下にあることです。appdelegate にロードおよび保存される plist の配列を置き換える方法を探しています。どうすればいいですか?助けていただければ幸いです。

だからあまり意味がなかったのかもしれません。AppDelegate では、plist ファイルを NSMutableDictionary にロードします。plist は次のようになります。

ルート
>タイトル(文字列)
>行(配列)
>>アイテム1(辞書)
>>>タイトル(文字列)
>>>ID(文字列)
>>>アイテムリスト(配列)
>>>>アイテム1(辞書)
>> >>>タイトル(文字列)
>>>>>ID(文字列)
>>>>>値(文字列)-----------ダウンロードした空の値
>>>>項目2(辞書)
>>>>項目 3(辞書)
>>>>項目 4(辞書)
>>項目 2(配列)
>>項目 3(配列)
>>項目 4(配列)

Rows 配列は RootViewController に送信されます。これらの項目の 1 つが TableView から選択され、その選択された項目の ItemList に設定されたテーブル データ ソースを使用して新しいインスタンスが作成される場合。ユーザーがボタンを押すと、値がダウンロードされ、[setValue: forKey:@"Value"] を使用して値が配列に設定されます。ここで迷子になります。この ItemList 配列をメインのルート ディクショナリに戻してから、そのルート ディクショナリを AppDelegate に送り返す必要があります。これにより、applicationWillTerminate で [self.data writeToFile:] を呼び出すことができ、ダウンロードした情報をダウンロードする必要がなくなります。次の時間。

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

objective-c - NSMutableArray で文字列を取得しています:なぜ機能しないのですか?

エラーが発生しました -[NSCFString stringValue]: unrecognized selector sent to instance 0x1578c when running this code 何をしているのか理解できません 間違った名前は NSString です