問題タブ [plist]

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 投票する
1 に答える
4577 参照

iphone - URLからplistをNSDictionaryに読み込む標準的な方法は? タイムアウトを制御するには?

plist XML ファイルを提供するサーブレットがあります。これをスラップする最良の方法は何NSDictionaryですか? 私はこれを基本的に使用しています:

しかし、タイムアウトを制御することはできません。サーバー (私が制御できない可能性があります) がぎこちなく収まっているという理由だけで、UI が 60 秒間ハングすることは避けたいと思います。について知っNSURLRequestています。これにより、次のことが可能になります。

しかし、それを NSDictionary に与える方法がよくわかりません。

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

objective-c - Plist (NSString) を解析して NSDictionary にする

だから私は動的に(ファイルシステムからではなく)取得するplist構造化文字列を持っています。この文字列を NSDictionary に変換するにはどうすればよいですか。

NSData を変換してから、NSPropertyListSerialization を使用して NSDictionary に変換しようとしましたが、NSDictionary にアクセスしようとすると、「[NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x100539f40」が返され、辞書が正常に作成されなかったことを示しています。

NSString の例 (plist データ):

ありがとう!

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

iphone - iPhone での辞書、配列、plist のヘルプ

これを行う方法を正確に理解していないと思うので、私が取り組んでいることと、これまでに行ったことのないこと、およびいくつかの問題があることについて、何らかの助けをいただければ幸いです。私がやりたいことは、ほとんどの人にとって簡単なことであり、初めて正しく実行するとすぐに私にとっても....とにかく....私はテーブルビューを持っていますユーザー名とアイテムの数を含む数値の 2 つを入力する必要があります (ユーザー名は主キーである可能性があります)。現在、配列を設定して編集できるテーブルビューがあります....問題ありません....その方法は知っています。

理解の助けが必要な 2 つの部分は次のとおりです。

  1. これら 2 つの値を含む plist をディクショナリに読み取り、テーブルで使用できる 2 つの異なる配列に読み取ります。

  2. 配列をディクショナリに保存してから、plist に戻します。

これら2つのものを辞書のキーと値に格納する方法に最も混乱していると思います。私はそれを見直しましたが、「それを理解する」ことはできませんでした。

これを行う方法または同じことを達成するためのより良い方法のいくつかの短いコード例をいただければ幸いです。

いつものように、あなたのすばらしい助けに感謝します....

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

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

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

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

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

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

objective-c - 別のplistをアプリケーションバンドルコードにコピーすることは可能ですか?

私の質問は上記のタイトルに記載されていますが、ここでもう一度書きます

別のplistをアプリケーションバンドルコードにコピーすることは可能ですか?

これは実際には私の前の質問に少し関連しています;)プログラムで辞書のプロパティリストを作成します

しかし、私はplistを書き出すことができるので(そして私が何か間違ったことをしているのかどうかをテストする)、私は自分の書いたファイルをコピーできるかどうか疑問に思いました

[testBook writeTofile:@/Users/jack/testbook2.plist" atomically:NO];

コードで私のアプリケーションバンドルに(それがここから読むことができるように) NSString *path = [[NSBundle mainBundle] bundlePath]; NSString *dataPath = [path stringbyAppendingPathcomponent:@"testbook2.plist"];

たとえば、mainBundleではなく別のパスからplistを直接読み取ることができる場合は、別の方法も適しています。

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

iphone - plist(プロパティリスト)ファイルmd5sumは、iPhoneアプリにコンパイルすると変更されます

iPhoneアプリにplistファイルを含めています。バイナリ形式です(plutilを使用してxmlからバイナリに変換します)。実行時にMD5チェックサム(またはSHA-1)を実行して、その内容が期待どおりであることを確認したいと思います。残念ながら、私はいつも最初に含めたものとは異なるチェックサムを受け取ります。MD5の合計を間違って計算していると仮定して、1時間以上経過した後、テストを実行して、バイトが実際に同じであることを確認することにしました。そうではありません。ファイルサイズは同じままですが、バイト30から始まり、ファイル全体(最後の32バイトを除く)で、ファイルの内容は完全に異なります。プロパティリストファイルが署名されているかどうか、またはiPhoneアプリに含める前に別のバイナリ形式に「コンパイル」されているかどうかを誰かが知っていますか?もしそうなら、あなたはプロセスについてもっと詳細を提供できますか?

前もって感謝します!

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

objective-c - 定義済みの p-list から整数を取得しようとしていますか? ObjC/ココア

私は Objective-C/Cocoa のローグライク ゲームに取り組んでいます。なぜなら、ゲームに取り組むことが言語について学ぶための最良の方法であることが常にわかっているからです。ゲームをかなり進めましたが、問題が発生しています。

各 level.plist は、次のようにいくつか定義されています。

それはそのようにつかまれています、私はまた、このコードはすべてうまくいっていると言いたいです:

しかし、私のNSLog探索では、整数や有用な数値を取得する代わりに、何らかのオブジェクトを取得し、NSLogged のときに正しい値を返すことがわかりました。この値を整数にして、自分が望むように使用できるようにするにはどうすればよいでしょうか? NSObject*他に何も正しく機能しなかったため、私は使用しただけであることに注意してください。代わりに使用した場合=(int)、ポインター値などを取得します(1108608たとえば)。

簡単な解決策だと思います。よろしくお願いします。何が起こっているのかを正確に説明することを気にしないのであれば、それは素晴らしいことです. 私の概念の理解は、ほとんどの新参者よりも優れていますが、何が起こっているのか正確に常に興味があります. 何が起こっているのかわからなかったら、プログラミングを学んでも何の役に立つでしょう! このような他の状況についても、気をつけて/準備するために喜んでアドバイスしてください. アドバイスは本当にありがたいです。非常に長い間コードを書くつもりの人に送られます。私はこれほど長い間学ぶことを先延ばしにしました。私の唯一の後悔は、早く始めなかったことです。

何らかの理由で、これまでの私のゲームを試すことに興味がある場合:リンク私は現在、状態保存を実装する過程にあり、レベルはあなたが残したままになります。明らかにOS Xのみです。これまでのところ、私はそれをかなり誇りに思っていますが、私には長い道のりが残っています. コントロールはアプリにリストされています。

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:] を呼び出すことができ、ダウンロードした情報をダウンロードする必要がなくなります。次の時間。