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

enumerateAttribute:inRange:options:usingBlock:

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

Declaration 宣言

- (void)enumerateAttribute:(NSAttributedStringKey)attrName 
                   inRange:(NSRange)enumerationRange 
                   options:(NSAttributedStringEnumerationOptions)opts 
                usingBlock:(void (^)(id value, NSRange range, BOOL *stop))block;

Parameters パラメータ

attrName

The name of the attribute to enumerate. 列挙することになる属性の名前。

enumerationRange

The range over which the attribute values are enumerated. それに対して属性値が列挙されるところの範囲。

opts

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

block

The block to apply to ranges of the specified attribute in the attributed string. 属性付文字列の中のこの指定された属性の範囲に適用されるブロック。

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

value

The value for the specified attribute. 指定された属性に対する値。

range

The range of the attribute value 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 文字列中の属性の全てを列挙する