問題タブ [nskeyedunarchiver]

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

ios - NSKeyedUnarchiver で間違ったクラス タイプを読み取る

私のアプリでは、NSUserDefaults に対して NSMutableArray を読み書きしています。この配列には、次のようなオブジェクトが含まれています。

ヘッダファイル:

実装ファイル:

これが私のリストの読み方です:

これは、配列をロードするViewControllerにあります.oldArrayは、WorkLocationModelオブジェクトであると想定されている場合、NSKeyedUnarchiverタイプの1つのアイテム(正しい量)をログに記録しているようです:

これは、配列に WorkLocationModel オブジェクトを追加する方法です。

エラーは、2 つの CLRegions を比較している if ステートメント (ViewController のさらに下) で発生します。

regionは関数の引数です。

私はコードを調べましたが、なぜこれが起こっているのか理解できません.例外メッセージ:

誰かがこれで私を助けることができますか? 道に迷いました

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

ios - NSKeyedUnarchiver unarchiveObjectWithData: Parse ブロック関数で返されることはありません

私は Parse.com から NSDictionary のファイル表現を要求しています (そうです、辞書を格納するための他のより明白な方法があることは知っています)。その後、完了ブロックでデータがアーカイブ解除され、プロパティに割り当てられます。

このコードを実行すると、アーカイブ解除行から戻ることはないようです。エラーや例外はありません。すべてが正常であるかのように、アプリは引き続き実行されます。unarchiver の行とその次の行にブレーク ポイントを設定すると、最初のブレークポイントにはヒットしますが、2 番目のブレークポイントにはヒットしません。

関数がこのファイルの予想される量のデータを返したことを確認できます。

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

nsuserdefaults - WatchKit NSUserDefaults および NSKeyedUnarchiver の問題

私のプロジェクトには、NSCoding を実装する Country というカスタム オブジェクトがあります。

このコードは、参照によって iPhone とウォッチ アプリで共有されます。両方のアプリが同じアプリ グループに属しています。

私のiPhoneアプリでは、NSUserDefaultsを使用してCountryオブジェクトをストーリー化しています.watchアプリから、次のコードで同じオブジェクトを読んでいます:

iPhone アプリのこのコードは完全に機能し、country 変数は正しく作成されます。Watch アプリではエラーがスローされます。

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

ios7 - コードに到達する前に実行時にアプリがクラッシュする xcode6.1 Universal App Objective-C NSKeyedUnarchiver iOS 7.0 iOS 8.1

7.1 シミュレータまたはデバイスでの実行時にアプリがクラッシュし、8.1 では両方で正常に実行されます

スタックトレースを使用:

このエラーが発生したらすぐに VersionControl を使用しています。以前のコミットに戻りましたが、エラーが発生し続けます。私のコードには何もないと確信しています。

Xcode 4.3.x - NSKeyedUnarchiver Exception を使用して、iOS 3.0 用のビルド ユニバーサル アプリのすべてのソリューションも試しました。

しかし、2歳なのでxcode6.1を使用していますが、動作しません。

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

ios - SKNode 拡張 unarchiveFromFile() からのカスタム SKSpriteNode サブクラス

SKSpriteNodeSpriteKit シーン ファイル (で終わるもの) からカスタム サブクラスをアーカイブ解除する方法はあります*.sksか? 必要なシーンをコピーするSKNode拡張機能を使用しています。unarchiveFromFile(file)SKSpriteNode

カスタムSKSpriteNodeサブクラス内で*.sksファイルからスプライトを展開し、必要なデータ (つまりSKTexture、サイズ、位置SKPhysicsBodyなど) を init にコピーできます。サブクラスのラッパーを作成して、アーカイブからスプライトをスプライト プロパティに割り当てることもできると思いSKNodeます。明らかな何かが欠けているかどうか知りたいです。