Class

NSKeyedUnarchiver

A decoder that restores data from an archive referenced by keys. キーそれらによって参照をつけられるあるアーカイブからデータを復元するデコーダ。

Declaration 宣言

class NSKeyedUnarchiver : NSCoder

Overview 概要

NSKeyedUnarchiver is a concrete subclass of NSCoder that defines methods for decoding a set of named objects (and scalar values) from a keyed archive. The NSKeyedArchiver class produces archives that this class can decode. NSKeyedUnarchiverは、NSCoderのある具象サブクラスです、それは、いくつかのメソッドを、ひとそろいの名前付きオブジェクト(そしてスカラー値)をキー付きアーカイブからデコードするために定義します。NSKeyedArchiverクラスは、このクラスがデコードできるアーカイブを生み出します。

The archiver creates keyed archive as a hierarchy of objects. The archiver treats each object as a namespace into which it can encode other objects. This means that an unarchiver can only decode objects encoded within the immediate scope of their parent object. Objects encoded elsewhere in the hierarchy — whether higher than, lower than, or parallel to this particular object — aren’t accessible. In this way, the keys used by a particular object to encode its instance variables need to be unique only within the scope of that object. アーカイバは、キー付きアーカイブをオブジェクトそれらの階層として作成します。アーカイバは、各オブジェクトを、それへとそれが他のオブジェクトをエンコードする名前空間とみなします。これは、あるアンアーカイバは、それらの親オブジェクトの直接スコープ内にエンコードされたオブジェクトそれらをデコードすることだけが可能であることを意味します。その階層の中のどこか他でエンコードされたオブジェクトは — この特定のオブジェクトより高い、より低い、またはそれに平行であろうと — アクセス可能ではありません。このやり方において、ある特定のオブジェクトによって使われてそれのインスタンス変数をエンコードするキーそれらは、そのオブジェクトのスコープ内でのみ特有である必要があります。

If you invoke one of the decode-prefixed methods of this class using a key that does not exist in the archive, the return value indicates failure. This value varies by decoded type. For example, if a key does not exist in an archive, decodeBool(forKey:) returns false, decodeInt(forKey:) returns 0, and decodeObject(forKey:) returns nil. あなたがこのクラスのdecode接頭辞を付けられたメソッドの1つをアーカイブの中に存在しないキーを使って発動するならば、戻り値は失敗を指し示します。この値は、デコードされる型によって変化します。例えば、あるキーがあるアーカイブの中に存在しないならば、decodeBool(forKey:)falseを返します、decodeInt(forKey:)0を返します、そしてdecodeObject(forKey:)nilを返します。

NSKeyedUnarchiver supports limited type coercion for numeric types. You can use any of the integer decode methods to decode a value encoded as any type of integer, whether a standard Int or an explicit 32-bit or 64-bit integer. Likewise, you can use the Float- or Double-returning decode methods to handle value encoded as a Float or Double. If an encoded value is too large to fit within the coerced type, the decoding method throws a rangeException. Further, when trying to coerce a value to an incompatible type — for example decoding an Int as a Float — the decoding method throws an invalidUnarchiveOperationException. NSKeyedUnarchiverは、制限された型強制を数値型に対してサポートします。あなたは、何らかの整数デコードメソッドを使って、何らかの整数としてエンコードされた値を、標準Intまたは明示的な32ビットまたは64ビット整数であろうとデコードできます。同様に、あなたはFloat- またはDouble- 返しのデコードメソッドを使って、FloatまたはDoubleとしてエンコードされた値を取り扱うことができます。エンコードされた値がその強制された型内に収まるには大きすぎるならば、エンコードしているメソッドはrangeExceptionをスローします。さらに、ある値を互換性のない型に強制しようとする場合 — 例えばIntFloatとしてデコードする — デコードしているメソッドはinvalidUnarchiveOperationExceptionをスローします。

Topics 話題

Creating a Keyed Unarchiver キー付きアンアーカイバを作成する

Unarchiving Data データをアンアーカイブする

Decoding Data データをデコードする

Managing the Delegate 委任先を管理する

Managing Class Names クラス名を管理する

Constants 定数

Relationships 関係

Inherits From 継承元

See Also 参照

Keyed Archivers キー付きアーカイバ