Instance Property


Indicates whether the archiver requires all archived classes to resist object substitution attacks.


var requiresSecureCoding: Bool { get set }



true if the receiver requires NSSecureCoding; false if not.


If you set the archiver to require secure coding, it throws an exception if you attempt to archive a class which doesn’t conform to NSSecureCoding.

Note that the getter is on the superclass, NSCoder. See NSCoder for more information about secure coding.

See Also

Archiving Data

class func archivedData(withRootObject: Any, requiringSecureCoding: Bool) -> Data

Encodes an object graph with the given root object into a data representation, optionally requiring secure coding.

func finishEncoding()

Instructs the receiver to construct the final data stream.

var encodedData: Data

The encoded data for the archiver.

var outputFormat: PropertyListSerialization.PropertyListFormat

The format in which the receiver encodes its data.

class func archivedData(withRootObject: Any) -> Data

Returns a data object that contains the encoded form of the object graph formed by the given root object.

class func archiveRootObject(Any, toFile: String) -> Bool

Archives an object graph rooted at a given object to a file at a given path.