問題タブ [nscoder]

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 に答える
481 参照

ios - iOS: ダウンロードした RSS メッセージをキャッシュする最良の方法

私は iPhone 用の RSS リーダーに相当するものを実装しています。一連の短いメッセージをダウンロードし、それらをリストでユーザーに表示します。各メッセージは、タイトル、本文、URL などを含む MyMessage オブジェクトにカプセル化されます。

最新の 20 件のメッセージを確実にキャッシュしたいと考えています。これを行う最善の方法は何ですか?キー付きアーカイブを使用し、MyMessage クラスに NSCoding プロトコルを実装させるだけでよいでしょうか。このアプローチを選択した場合、アーカイブを含むファイルに新しいメッセージを追加できますか (同様に、メッセージ数が 20 を超えたときに古いメッセージを削除できますか)?

基本的に私の質問は次のとおりです。キー付きアーカイブを使用するのは正しいアプローチですか? もしそうなら、必要に応じてアーカイブからメッセージを追加/削除するにはどうすればよいですか?

ありがとう!

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

load - NSCoderでゲームの状態を読み込んでいますか?

NSCoderで保存した(または保存しようとした)アイテムをロードするにはどうすればよいですか?私はcocos2dフレームワークを使用しています。これが私が物事を保存するために作った方法です。

'numberWithInt'の引数1を渡すと、キャストなしでポインターから整数になるという警告が表示されます。

0 投票する
0 に答える
1080 参照

key - NSKeyedUnarchiver のすべてのキーを取得できますか?

私はこれらのステップで何かをしたい:

  1. ある種のオブジェクト A を NSKeyedArchiver M でエンコードすると、NSData X を取得できます。
  2. NSData X から NSKeyedUnarchiver N で別の種類のオブジェクト B を初期化します。A と B の名前は同じなので、可能です (私は実験を行いました)。
  3. そして、B をエンコードしたいのですが、B が X の一部のデータを失うかどうかはわかりません。なぜなら、A と B は異なる数のプロパティを持つ可能性があるからです。

だから私はNからすべてのキーと値を取得したいのですが、どうすればこれを行うことができますか?

NSKeyedUnarchiver がよくわかりません。助けてください。

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

iphone - NSCoder で独自のクラスを保存する

カスタム クラス/データを iPhone/iPad アプリのファイルに保存しようとしています。

私はクラス RSHighscoreList を持っています

リストに RSHighscore のオブジェクトを含む

すべてをファイルに保存しようとすると

アプリがクラッシュし、エラー メッセージが表示されます

/blockquote>

RSHighscore が「ラップ」されているにもかかわらず、なぜエラーが RSHighscore について通知するのだろうか。誰もが良い考えを持っていますか?

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

objective-c - .pbxproj 形式はどの NSCoder を使用しますか?

.xcodeproj バンドル内で、メインのプロジェクト データは実際には .pbxproj ファイルに格納されます。これはアーカイブされた辞書であることは明らかですが、Apple が使用したコーダーを見つけることができませんでした。それは のカスタム サブクラスですかNSCoder、それとも文書化されていて十分に調べていませんか?

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

iphone - NSKeyedArchiver は配列の一部のみをエンコードします

時々変更される可能性のあるオブジェクトのリストがあり、アプリを閉じたりバックグラウンドに移動したりするたびに、デバイスに永続的なキャッシュを保持したいと考えています。リスト内のオブジェクトのほとんどは変更されないため、リストを保存する最善の方法は何かと考えていました。私が考えている2つの主要なオプションがあります。

  1. NSKeyedArchiver / unArchiver の使用 - これは最も便利な方法です。シリアライズしているオブジェクトは他のカスタム オブジェクトを保持しているため、この方法でそれぞれのカスタム エンコード メソッドを記述できます。主な問題は、変更されたオブジェクトのみをシリアル化する方法を Google で見つけられなかったことです。毎回リスト全体をシリアル化するのは非常に無駄に思えます。

  2. SQLite の使用 - これは私が現在使用しているものです。ここでの最悪の問題は、オブジェクトのプロパティの追加と変更が非常に複雑で、あまり洗練されていないことです。

NSKeyedArchiver の利便性を享受しながら、変更されたオブジェクトのみをシリアル化する方法はありますか?

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

iphone - 次回の起動のために UIView を保存する (画像としてではなく)

UIViewsユーザー入力に基づいて動的に生成されるいくつかのアプリを構築しています。これらUIViewsには、ラベル、画像、およびテキストが含まれる場合があります。生成には時間がかかるため、ユーザーがアプリを再起動する際に再描画せずにすばやくロードできるようにしたいと考えています。要件の 1 つは、ユーザーが引き続き編集できるように、インタラクティブな状態を維持する必要があることです。

調べましNSKeyedArchiverたが、これはサポートしていないようですUIImage。また、インタラクティブな状態を保持したいので、PNG として保存することはできません。

これを行う方法はありますか?

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

nscoder - NSString を含むデコーダーがクラッシュしました

スコアを保存するためのクラスがあります:

そして私の GameLayer では、次のようにスコアを保存するために呼び出します:

そして、データを保存するコード:

そして、データは正しく保存されました...

次に、plist からデータを読み取ろうとしました。

しかし、ここでアプリがクラッシュしました。

発言: [4011:207] -[NSCFString string]: 認識されないセレクターがインスタンス 0x544dd10 に送信されました [4011:207] *キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '-[NSCFString string]: 認識されないセレクターがインスタンス 0x544dd10 に送信されました'

誰か助けてくれませんか。ありがとう^_^

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

iphone - Bluetooth経由で画像と文字列を一緒に転送するためにNSCoderを使用する方法は?

NSCoder を使用し、NSString と UIImage を単一の NSData で Bluetooth 経由で転送したい

「UIImage と NSString を含む NSData を bluetooth 経由で送信したい」と簡単に言うことができます。

手伝ってください、、、

これは非常に複雑な質問で、ここで 2 日間立ち往生しています :-(

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

objective-c - iPod音楽の再生に問題があるかどうかを確認します

ipod の音楽が再生されているかどうかを確認したいので、mediaplayer フレームワークを追加してインポートしました。

それから私は NSCoder を持っています:

しかし、これはうまくいきません。iPod音楽が再生されているときにアプリを起動すると、iPod音楽がオフになり、アプリの音楽が再生されます。

どうしたの?