static var supportsSecureCoding : Bool
Overview 概要
Historically, many classes decoded instances of themselves like this: 歴史的に、多くのクラスはそれら自身のインスタンスをこのようにデコードしました:
This technique is potentially unsafe because by the time you can verify the class type, the object has already been constructed, and if this is part of a collection class, potentially inserted into an object graph. この手法は潜在的に安全ではありません、なぜならあなたがクラス型を検証できるようになるまでに、オブジェクトは既に組み立てられてしまう、そしてこれがコレクションクラスの一部ならば、可能性としてオブジェクトグラフへと挿入されてしまうからです。
In order to conform to NSSecure
:
NSSecure
に準拠するためには:
An object that does not override
init(coder:)
can conform toNSSecure
without any changes (assuming that it is a subclass of another class that conforms).Coding init(coder:)
をオーバーライドしないオブジェクトは、NSSecure
に何ら変更なしに準拠できます(それは、準拠する別のクラスのサブクラスであると仮定します)。Coding -
An object that does override
init(coder:)
must decode any enclosed objects using thedecode
method. For example:Object Of Class: for Key: init(coder:)
をオーバーライドするオブジェクトは、あらゆる封入されたオブジェクトをdecode
メソッドを使ってデコードしなければなりません。例えば:Object Of Class: for Key: In addition, the class must override the getter for its
supports
property to returnSecure Coding true
. 加えて、クラスはそれのsupports
プロパティをオーバーライドしてSecure Coding true
を返さなければなりません。
For more information about how this relates to the NSXPC API, see Creating XPC Services in Daemons and Services Programming Guide. どのようにこれがNSXPC APIと関連するかについてのさらなる情報として、Creating XPC ServicesをDaemons and Services Programming Guideで見てください。