Instance Method インスタンスメソッド

setClasses(_:for:argumentIndex:ofReply:)

Sets the classes that can appear within the (numerically) specified collection object argument to the specified method. 指定されたメソッドに対するこの(数字で)指定されたコレクションオブジェクト引数内に現れることができるクラスを設定します。

Declaration 宣言

func setClasses(_ classes: Set<AnyHashable>, 
            for sel: Selector, 
  argumentIndex arg: Int, 
        ofReply: Bool)

Parameters パラメータ

classes

An NSSet containing Class objects—for example, [MyObject class]. Classオブジェクトを含んでいるNSSet — 例えば、[MyObject class]

sel

Specifies which method in the protocol is being configured. プロトコルの中のどのメソッドが構成設定されているのかを指定します。

arg

Specifies the position (starting at index 0) of the parameter for which you are allowing classes. This may be either the position of a parameter in the method itself or the position in its reply block. それに対してあなたがクラスを許可しているパラメータの位置(インデックス0で始まる)を指定します。これは、メソッドそれ自体におけるあるパラメータの位置またはそれの応答ブロックにおける位置のどちらでもありえます。

ofReply

Pass true if arg is an index into the parameters of the reply block, or false if it is an index into the parameters of the method itself. trueをもしargが応答ブロックのパラメータへのインデックスであるならば、またはfalseをもしそれがメソッドそれ自体のパラメータへのインデックスであるならば、渡してください。

Discussion 議論

If an argument to a method in your protocol is a collection class (for example, NSArray or NSDictionary), then you must explicitly specify the set of expected classes that may appear within that collection. あなたのプロトコルにおけるあるメソッドの引数がコレクションクラス(例えば、NSArrayまたはNSDictionary)であるならば、そのときあなたはそのコレクション内に現れるかもしれない期待されるクラスの集合を明示的に指定しなければなりません。

If the expected classes are all property list types, calling this method is optional; property list types are allowed by default inside collection objects. You may, however, call this method to further restrict the set of allowed classes. 期待されるクラスが全てプロパティリスト型であるならば、このメソッドを呼び出すことは随意です;プロパティリスト型は省略時の内部コレクションオブジェクトによって許可されます。あなたは、しかしながら、このメソッドを呼び出して許可されるクラスの集合をさらに制限するかもしれません。