問題タブ [nskeyedarchiver]
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.
objective-c - アーカイブされた配列の NSNumbers が消える
さて、NSMutableArray に格納した NSNumber オブジェクトの配列を作成しました。ゲームが読み込まれると、アーカイブが解除されて保持されますが、すべての NSNumber オブジェクトが失われます。これが私のコードです:
助けてください。
iphone - NSKeyedUnarchiver の使用中にエラーが発生しました
私は iPhone アプリを書いていますが、設定をアーカイブしようとすると問題が発生します。クラス (AppData) を使用して設定を保持し (この例では現在 1 つだけを示しています)、App Delegate を使用して、アプリの読み込み時に AppData のインスタンスを作成し、アプリの終了時にそれを保存しています。私はNSCodingプロトコルに準拠しています(と思います)
アプリはファイルを Documents ディレクトリに保存し、ファイル構造を確認すると、期待どおりのデータが保持されているようです。ただし、ファイルがアンアーカイバーにロードされると、エラーが返されます
***
キャッチされていない例外 'NSInvalidUnarchiveOperationException' が原因でアプリを終了しています。理由:***
-[NSKeyedUnarchiver decodeObjectForKey:]: unarchiver has finished; これ以上は解読できません」
私はこれにしばらく取り組んでいるので、誰かが問題を見ることができれば、とても感謝しています.
コード:
アプリのデリゲート:
インターフェース:
実装:
AppData クラス:
インターフェース:
実装:
最後にconstants.h
//このファイルにはすべてのアプリケーション定数が含まれています
iphone - NSKeyedUnarchiver-デコードされたデータを削除しますか?
以前の(関連する)質問に対する回答を得ることができなかったので、少し言い換えれば何か助けになるのではないかと思います。
NSKeyedArchiverを使用していくつかの複雑なオブジェクトをエンコードし、ディスクに保存しています。言ってやるが-
私が構築しようとしている機能は、ユーザーが自分の作業を保存できるようにすることです。たとえば、新しいメンバーを作成して後で戻ってくることができます。ユーザーが終了したら、[投稿]をクリックすると、データがWebサービスに送信されます。そうでない場合は、[保存]をクリックして画面を離れるとデータが保持されるため、ユーザーが戻ってきた時点からアプリを再開できます。さて、データをWebサービスに投稿した後は、データをディスクに保持したくなく、削除する方法を見つけることができません。
これで、エンコードクラスとデコードクラスは正常に機能しています。NSKeyedArchiverを使用してデータをディスクに保存し、NSKeyedUnarchiverを使用してデータを取得できます。しかし、私の質問は、不要になったデータを削除するにはどうすればよいですか?ディスク上のファイルを手動で削除する必要がありますか?NSKeyedUnarchiverに返されるデータを削除させる方法はありますか?
ありがとう、
テジャ。
iphone - オブジェクト内のNSStringとしてのNSCoding
私の問題は、Store
オブジェクトのNSArrayを取得することです。すべてのNSStringプロパティがBadAccess
エラーを引き起こしています。intプロパティとdoubleプロパティは正常に機能します。
store.h
store.m
これが、配列を保存および取得するための私のコードです。
私はすべてを試したように感じますが、デコードでどのように機能するかを理解できませんが、配列に入れた後に配列をループしているときはわかりません。
誰かアイデアはありますか?
objective-c - Objective-C でカスタム オブジェクトの NSArray をファイルにアーカイブする方法
Objective-C でカスタム オブジェクトの NSArray をアーカイブするための構文またはサンプル プログラムを教えてもらえますか?
iphone - モバイル デバイスのデータ保護
携帯電話に医療データを保存していますが、データを安全に保つための最適な暗号化システムを知りたいです。これは基本的に一連のモデル オブジェクトであり、NSKeyedArchiver を使用してシリアル化および保存しています / Blackberry の同等物 (名前は今のところわかりません)
任意のヒント?進行中にセキュリティプロトコルを作成したくはありませんが、他のスレッドの1つが次のアプローチを提案しました。
- 公開鍵と秘密鍵のペアを生成する
- 公開鍵を保管する
- ユーザーのパスワードのハッシュで秘密鍵を暗号化します。
- 公開鍵を使用して、バイト ストリームを暗号化します。
- pvt キーを復号化し、ユーザーがログインするたびにメモリに保持し、必要に応じて保存されたデータを復号化します。
これを行うより標準的な方法はありますか?
ありがとう、
テジャ。
編集: あなたが私を助けようとしてくれていることに感謝していますが、現在議論されていることはビジネスレベルの議論であり、私には制御できません. 私の質問を言い換えると、それが医療データであることを無視するが、パスワードなどの機密データを無視する場合、どのようにそれを行うつもりですか?
iphone - NSKeyedArchiverを使用して自分のオブジェクトを保存するにはどうすればよいですか?
オブジェクトを保存するためにNSKeyedArchiver/NSKeyedUnarchiverを使用すると問題が発生します。
メソッド- (id)initWithCoder:(NSCoder *)decoder
とを追加しました- (void)encodeWithCoder:(NSCoder *)encoder
。問題は、オブジェクトを保存しようとすると正しく機能しないことです。
私は問題を想像することができました(しかし、それが問題であるかどうかはわかりません;))。オブジェクト内にいくつかの配列があります。それらにはより多くのオブジェクトが含まれています(私は「Coder」-メソッドの両方を実装しました)。では、配列はそのオブジェクトのメソッドを呼び出しますか?
可能な解決策はありますか?
ありがとう!!
iphone - 配列のデコード後に NSKeyedUnarchiver がクラッシュする
私は非常にイライラする問題を抱えています。
NSArray をデコードした後に NSKeyedUnarchiver オブジェクトを解放しようとすると、「EXC_BAD_ACCESS」エラーが発生します。
しかし、それを解放したり、他のオブジェクト (NSString など) をデコードしたりしないと、すべてうまくいきます。
私はそれを理解していません...私にとっては、「decodeObjectForKey」メソッドが「decoder」オブジェクトの何かを変更しているように見えます(ただし、常にではありません?!)。デバッガーでは、このメソッドを呼び出した後に変更される唯一の変数は "_replacementMap" です。しかし、このバグを修正する方法がわかりません。
あなたが私を助けてくれることを願っています。
サンプルコードは次のとおりです。
}
iphone - NSKeyedArchiver の問題
NSKeyedArchiver にはまだ問題があります。言われたことはすべて実行しましたが、それでもうまくいきません。私はちょっとイライラしています。誰でも私を助けることができますか?
.h ファイルは次のとおりです。
これは .m ファイルです。
私が何を間違えたのか誰か知っていますか?
ありがとう!!
iphone - iPhone でのアーカイブの場所
次回の起動時にデータを使用できるように、ネストされた NSDictionary オブジェクトをアーカイブしようとしています。そのために使用するつもり[NSKeyedArchiver archiveRootObject: toFile: ]
でしたが、ファイルをどこに置くべきかわかりませんでした。アーカイブ ドキュメントでは、例ではファイルを配置していますNSTemporaryDirectory()
が、永続的なデータの場合、一時ディレクトリはあまり意味がないようです。私は周りを見回しましたが、NSDocumentDirectory
この種のアプリで使用する場合を除き、どこに配置するのが最適なのかわかりませんか?