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

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

objective-c - NSKeyedArchiver/ NSKeyedUnarchiver を使用した NSObject の保存

私は次のようなクラスオブジェクトを持っています;

BookEntity.h

BookEntity.m

このクラスにいくつかの値を割り当てます

NSKeyedArchiver を使用してこのクラスを保存し、NSKeyedUnarchiver で復元したいと考えています。

ファイルに書き込みますが、このファイルを取得すると、エンティティには値が含まれます。

これを行う最善の方法は何ですか?

ありがとう。

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

arrays - rootObject のデコード方法

カスタム クラスがあり、クラス内に配列を保存しようとしています。encodeWithCoder メソッドでは、encodeRootObject:theShotArray を使用してデータを保存します。initWithCoder メソッドには何を使用すればよいですか。decodeRootObject メソッドはないようです。配列を保存するより良い方法はありますか。

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

xcode - NSKeyedArchiver でカスタム クラスをエンコードおよびデコードする方法

保存してロードしたいカスタムクラスがあります。このクラスには、NSDate、NSString、および NSNumber が含まれています。NSCoding プロトコルを .h ファイルに実装しました。ここに私がこれまでに持っているコードがあります。theDate は NSDate です。theName は NSString です。homeAway は NSNumber です。

以下のコードを使用して、カスタム オブジェクトをロードしています。デバッガーで print-object を使用すると、homeAway のみが実際のオブジェクトとして表示されます。theDate と theName は、0x4e4f150 が有効なオブジェクトを指していないようです。

次のコードを使用してデータを保存します。

これを使用してクラスを呼び出し、新しいゲーム (保存しようとしているカスタム クラス) を作成します。NSDateまでのコード *aDate = [gameDate date]; は関係ありません。

}

そのメソッドから newGame メソッドを呼び出します。

オブジェクトが保存されないのはなぜですか? オブジェクトのコピーはそれと関係がありますか? 「exc bad access」というコメント行にエラーが表示されます。助けてください...

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

iphone - 優先ファイル拡張子

NSKeyedArchiver で保存しています。私のファイル名のファイル拡張子は何ですか?

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

iphone - NSKeyedArchvierからデータを削除します

NSKeyedArchiverでデータを保存しています。ユーザーがアプリからログアウトするときに、保存したすべてのデータをクリアしたいと思います。どうすればそれを行うことができますか?[NSKeyedUnarchiver unarchiveObjectWithFile:]ファイルを削除するようには見えません。

ありがとう!

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

objective-c - ObjectiveC-NSKeyedArchiverまたはNSUnKeyedArchiverヘルプ

私は、整数と文字列のセットをエンコードし、それらを配列でラップし、NSKeyedまたはNSUnkeyedアーカイバを使用してアーカイブする(最終的にはNSDataオブジェクトに入れてWi-Fi経由で送信する)ための優れたチュートリアルを探していました。 Fi)。

たとえば、3つのintと3つの文字列があります

int1 int2 int3 string1 string2 string3

誰かが私にサンプルコード、またはこれを行う方法の例を含む良いチュートリアルへのリンクを提供できますか?すべてのオブジェクトをエンコードする必要がある方法を含めます。これらのエンコードされたアイテムを配列にラップしてアーカイブしようとしたときに、これがどのように達成されるかはまだわかりません。

私はアップルのウェブサイトでアーカイブとシリアル化プログラミングガイドを読みましたが、これをすべて配列にまとめてアーカイブしようとすると、あまりわかりません。

文字列も送信する必要がない場合は、CFSwappedFloat32のala GKRocketのパケットを作成したくなるかもしれませんが、文字列は非常に重要です。

ありがとう

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

iphone - NSKeyedArchivers / NSKeyedUnarchivers を使用するとアプリがクラッシュする理由がわかりません

NSString タイトル、NSString テキスト、および NSDate creationDate を保持するカスタム 'Entry' オブジェクトを使用する、最初の iPhone 'Diary' アプリを開発しています。Entry オブジェクトの NSMutableArray をアーカイブし、後でビューが読み込まれたときにそれらを取得しようとすると、アプリがクラッシュします。NSKeyedArchivers を使用するサンプル コードと例をたくさん調べましたが、なぜそれが起こるのかまだわかりませんでした。エントリを保持する配列の初期化に問題があると推測していますが、わかりません...

これがコードです。私がずっと監視してきた何かを見つけることができるかもしれません...」

どうもありがとう。

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

objective-c - NSKeyedArchiver がオブジェクトのすべてのプロパティを保存しない

特に、色とタグのプロパティを持つ「ノード」(下のヘッダー) の配列を保存しているという問題があります。- (void)saveDataToDiskWithPath:(NSURL*)path として保存すると、ログにこれらのプロパティが存在することが示されます。後で保存したファイルから配列を再度ロードすると、ノードのフレームは保持されますが、配列内の各ノードはタグと色を失います...理由はありますか? 私は何が間違っているのでしょうか?多分私はただ疲れているだけで、後ですべてが意味をなすでしょう...

Node.h:

保存方法:

ロード方法:

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

xcode - Invalid Summary on NSMutableArray

I would need some expert advice on how to solve this problem. I am doing some crude testing for a new app for the iPad.

I create a NSMutableArray (ballPath) in the viewDidLoad of my view controller (it is declared in my .h file) by loading a plist file created in another app.

This array now contains a number of CGPoints (stored by the other app as NSValues and the archived).

enter image description here

I then draw the path (still in my viewDidLoad), which works fine, so the path should work fine.

When I later on want to read the array as a response to changes in acceleration, I get an EXC_BAD_ACCESS. When I debug and look at my array it looks like this:

enter image description here

I test and replace the loaded array with this (also in viewDidLoad):

Then it works just fine!

enter image description here

What am I missing here????

I'm on Xcode 4.0.2 and my target is iOS 4.3.

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

objective-c - NSKeyedArchiver から NSString への NSData

NSKeyedArchiver から生成された NSData を NSString に変換して、それを渡し、最終的に NSData に戻すことができるようにしようとしています。これを文字列として渡す必要があります (three20 URL 受け渡しを使用しています)。UTF8、ASCII など、さまざまなエンコーディングを試しましたが、何も動作しません。NSKeyedArchiver によると、NSData はプロパティ リスト NSPropertyListBinaryFormat_v1_0 としてフォーマットされています。

この NSData を String に変換して元に戻す方法を知っている人はいますか? 文字列のサイズは問題ではありません。

ありがとう