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

enumerateAttributes(in:options:using:)

Executes the specified closure for each range of attributes in the attributed string. 指定されたクロージャを、属性付文字列の中のある特定の属性の範囲それぞれに対して実行します。

Declaration 宣言

func enumerateAttributes(in enumerationRange: NSRange, 
                 options opts: NSAttributedString.EnumerationOptions = [], 
                   using block: ([NSAttributedString.Key : Any], NSRange, UnsafeMutablePointer<ObjCBool>) -> Void)

Parameters パラメータ

enumerationRange

The range over which the attributes are enumerated. それに対して属性が列挙されるその範囲。

opts

The options used by the enumeration. For possible values, see NSAttributedString.EnumerationOptions. 列挙によって使われるオプション。可能な値として、NSAttributedString.EnumerationOptionsを見てください。

block

The closure to apply to ranges of attributes in the attributed string. 属性付文字列の中の属性の範囲に適用することになるクロージャ。

The closure takes three arguments: クロージャは3つの引数をとります:

  • A dictionary of attribute values keyed by name. 名前によってキー付けされる属性値からなる辞書。

  • The range of the attribute values in the attributed string. 属性付文字列の中の属性値の範囲。

  • A reference to a Boolean value, which you can set to true within the closure to stop further processing of the attributed string. あるブール値への参照、それはあなたがクロージャの内部でtrueに設定することで、属性付文字列のこの先の処理を停止できます。

Discussion 議論

If this method is called by an instance of NSMutableAttributedString, mutation (deletion, addition, or change) is allowed only if the mutation is within the range provided to the block. After a mutation, the enumeration continues with the range immediately following the processed range, adjusting for any change in length caused by the mutation. For example, if block is called with a range starting at location N, and the block deletes all the characters in the provided range, the next call will also pass N as the location of the range. このメソッドがNSMutableAttributedStringのインスタンスによって呼び出されるならば、変化(削除、追加、または変更)は、その変化がブロックに提供される範囲内である場合にのみ許可されます。ある変化の後、列挙は処理された範囲にすぐに続く範囲で継続します、変化によってもたらされる長さでの如何なる変更も調整します。例えば、blockが位置Nで始まる範囲で呼び出される、そしてブロックは全ての文字を提供された範囲において削除するならば、次の呼び出しはまたNを範囲の位置として渡されるでしょう。

See Also 参照

Enumerating over Attributes in a String 文字列中の属性の全てを列挙する