問題タブ [nssecurecoding]

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

objective-c - opaque 型の NSSecureCoding の採用

NSSecureCodingXPC 接続を介したトランスポートに採用する必要がある Objective-C クラスがあります。このクラスには、不透明なタイプのプロパティがいくつかあります (dispatch_queue_tおよびdispatch_group_t)。

この場合、どのように実装-initWithCoder:-encodeWithCoder:ますか?ドキュメントには、これらはオブジェクトのような構造であると書かれているので、エンコード/デコード時に生のバイトとの間で変換する必要があると思いますか? この場合、これを行うためにどのメソッドを使用すればよいかわかりません。別のオプションは、単純にそれらをエンコードすることをまったく避けて、内部で再作成すること-initWithCoder:です。

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

objective-c - カスタム クラスのコレクションに関する NSSecureCoding の問題

NSSecureCoding の採用に問題があります。カスタム クラスのオブジェクトを含む配列をエンコードすると、NSSecureCoding適切に採用されます。NSArrayクラス(エンコードしたオブジェクトのクラス)を渡してデコードすると、例外がスローされます。ただし、文字列の配列でまったく同じことを行うと、正常に機能します。クラスと NSString の違いがわかりません。

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

ios - NSSecureCoding で型を強制する

NSSecureCodingoverを使用することにしましNSCodingたが、うまく動作しません。

NSStringをエンコードしているのに をデコードしようとしているので、次のコードは失敗すると予想されますNSNumber。ただし、オブジェクトは例外をスローせずに初期化されます。

上記のスニペットをテストするために使用しているコードは次のとおりです。

完全に明らかな何かが欠けているのでしょうか、それともデコード中に例外がスローされないのはなぜですか?

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

ios - Swift の NSSecureCoding (Facebook SDK)

Objective-C のコードを Swift コードに変換しようとしています。

目的 C:

このコードを次のように翻訳しました。

これによりエラーが発生します: タイプ 'CacheItem' はプロトコル 'NSSecureCoding' に準拠していません

ここで何が欠けていますか?

前もって感謝します!

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

ios - 不明なオブジェクトを含む NSKeyedArchived コレクションをデコードすることは可能ですか?

クラス A、B、C が異なるオブジェクトのコレクションがあります (すべて共通のスーパークラスを共有しています)。

このコレクションは、NSCoding を介してアーカイブおよびアーカイブ解除されます。 クラスの 1 つがプロジェクトから削除された場合、このコレクションを部分的にアーカイブ解除する方法はありますか?

デコードできないオブジェクトに遭遇するとdecodeObjectForKey:、失敗してオブジェクトを返します。nil代わりに、デコードできるものだけを取得する方法はありますか? この動作がオブジェクトでは意味があるのに、コレクションでは意味がない理由を理解しています。

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

ios - Swift 3でNSSecureCodingを使用して文字列をデコードするには?

私は現在 iOS 10 Beta を試しており、Swift コードを Swift 3 に変換することにしました。

Swift 3 への変換後、Xcode で次のエラーが表示されます。

前述したように、私は NSSecureCoding を使用しているため、残念ながらdecodeObject(forKey: String)できません。これはベータ版のバグですか? 私は何が欠けていますか?