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

enumerateAttributesInRange:options:usingBlock:

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

Declaration 宣言

- (void)enumerateAttributesInRange:(NSRange)enumerationRange 
                           options:(NSAttributedStringEnumerationOptions)opts 
                        usingBlock:(void (^)(NSDictionary<NSAttributedStringKey, id> *attrs, NSRange range, BOOL *stop))block;

Parameters パラメータ

enumerationRange

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

opts

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

block

The block to apply to ranges of attributes in the attributed string. 属性付文字列の中の属性の範囲それらに適用されるブロック。

The block takes three arguments: ブロックは、次の3つの引数をとります:

attrs

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

range

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

stop 中止

A reference to a Boolean value. The block can set the value to YES within the block to stop further processing of the attributed string. あるブール値への参照。ブロックは、値をYESにそのブロック内部で設定することで、それ以上の属性付き文字列の処理を止めることができます。

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 文字列中の属性の全てを列挙する