NSArrayクラスリファレンス:インスタンスメソッド, A ~ indexes...

Last-modified: 2014-01-29 (水) 17:12:01

array

空の配列を生成し、返します。

+ (instancetype)array

Return Value
空の配列。

Discussion
このメソッドは、NSArrayの可変性サブクラスで使います。

Availability
Available in OS X v10.0 and later.
See Also
+ arrayWithObject:
+ arrayWithObjects:
Related Sample Code
QuickLookSketch
Sketch
Sketch+Accessibility
SourceView
Writing Subtitles to a Movie from the Command Line for OS X
Declared In
NSArray.h

arrayWithArray:

与えられた配列にあるオブジェクトが入っている配列を作り、返します。

+ (instancetype)arrayWithArray:(NSArray *)anArray

Parameters
anArray
配列

Return Value
anArrayにあるオブジェクトが入っている配列。

Availability
Available in OS X v10.0 and later.
See Also
+ arrayWithObjects:
- initWithObjects:
Related Sample Code
ImageApp
ImageBackground
TrackBall
TreeView
Using NSTokenField
Declared In
NSArray.h

arrayWithContentsOfFile:

与えられたパスで指定したファイルの内容から配列を生成し、返します。

+ (id)arrayWithContentsOfFile:(NSString *)aPath

Parameters
aPath
- writeToFile:atomically:メソッドで作った、配列の文字列表現を入れたファイルへのパス。

Return Value
aPathで指定したファイルの内容が入った配列。ファイルが開けないか、ファイルの中味を配列へパースできないときは、nilを返します。

Discussion
aPathで特定したファイルにある配列表現には、プロパティリストオブジェクトのみが入っていなければなりません(NSString, NSDate, NSData, NSNumber, NSArray, or NSDictionary オブジェクト)。くわしくは、Property List Programming Guideを参照して下さい。この配列が可変のものでも、含まれるオブジェクトは不変です。

Availability
Available in OS X v10.0 and later.
See Also
- writeToFile:atomically:
Related Sample Code
DictionaryController
IconCollection
Declared In
NSArray.h

arrayWithContentsOfURL:

あたえられたURLにある内容を含む配列を生成し、返します。

+ (id)arrayWithContentsOfURL:(NSURL *)aURL

Parameters
aURL
配列の文字列表現を入れたファイルへの場所。この文字列表現は、- writeToURL:atomically:メソッドで作ります。

Return Value
aURLで指定した内容が入った配列。aURLが開けないか、aURLの中味を配列へパースできないときは、nilを返します。

Discussion
aURLで特定し場所にある配列表現には、プロパティリストオブジェクトのみが入っていなければなりません(NSString, NSDate, NSData, NSNumber, NSArray, or NSDictionary オブジェクト)。この配列が可変のものでも、含まれるオブジェクトは不変です。

Availability
Available in OS X v10.0 and later.
See Also
- writeToURL:atomically:
Declared In
NSArray.h

arrayWithObject:

与えられたオブジェクトを入れた配列を生成し、返します。

+ (instancetype)arrayWithObject:(id)anObject

Parameters
anObject
オブジェクト

Return Value
anObjectのみを要素に持つ配列。

Availability
Available in OS X v10.0 and later.
See Also
+ array
+ arrayWithObjects:
Related Sample Code
AVSimpleEditorOSX
CoreBluetooth: Health Thermometer
DragNDropOutlineView
MultiPhotoFrame
TextEdit
Declared In
NSArray.h

arrayWithObjects:

引数リストにあるオブジェクトが入った配列を生成して、返します。

+ (instancetype)arrayWithObjects:(id)firstObj, ...

Parameters
firstObj, ...
コンマで区切られたオブジェクトのリスト。nilで終わります。

Return Value
引数リストにあるオブジェクトが入った配列。

Discussion
次のコードは、3つの異なった型の要素が入った配列を生成します。

NSArray *myArray;
NSDate *aDate = [NSDate distantFuture];
NSValue *aValue = [NSNumber numberWithInt:5];
NSString *aString = @"a string";
myArray = [NSArray arrayWithObjects:aDate, aValue, aString, nil];

Availability
Available in OS X v10.0 and later.
See Also
+ array
+ arrayWithObjects:
Related Sample Code
From A View to A Movie
From A View to A Picture
iSpend
OpenGL Filter Basics Cocoa
QTCoreVideo202
Declared In
NSArray.h

arrayWithObjects:count:

あたえられたC配列から、あたえられた数のオブジェクトを入れた配列を生成し、返します。

+ (instancetype)arrayWithObjects:(const id [])objects count:(NSUInteger )count

Parameters
objects
オブジェクトのC配列。

count
objectsのC配列から新しい配列に入れる値の数。この数は、新しい配列のcountになります。負の数、C配列にあるオブジェクト要素の数より大きくてはいけません。

Return Value
objectsから、先頭からcount個のオブジェクトを含む新しい配列。

Discussion
要素は、objectsで表れるのと同じ順序の昇順で、新しい配列へ加えられます。countインデックスにあるオブジェクトは含まれません。たとえば:

NSString *strings[3];
strings[0] = @"First";
strings[1] = @"Second";
strings[2] = @"Third";
NSArray *stringsArray = [NSArray arrayWithObjects:strings count:2];
// strings array contains { @"First", @"Second" }

Availability
Available in OS X v10.0 and later.
See Also
- getObjects:range:
Declared In
NSArray.h

addObserver:forKeyPath:options:context:

例外が発生します。

- (void)addObserver:([NSObject *)observer forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context

Parameters
observer
KVO*通知*に登録するオブジェクト。observerは、NSIndexSetキーバリューオブザーブメソッドを実装していなければなりません。
(*KVO: key value observation, キーバリューオブザベーション)(*notifications, ノーティフィケーション)

keyPath
キーパス*。配列に対して相対値。監視するプロパティ。この値がnilではいけません。(*key path)

options
なにをオブザベーション通知へ含めるのか指定する、NSKeyValueObservingOptionsの組み合わせ。

context
NSIndexSetメソッドでオブザーバへ渡す、任意のデータ。

Special Considerations
NSArrayオブジェクトを観察対象には出来ないので、このメソッドをNSArrayオブジェクトで呼び出すと、例外が発生します。配列を観察する代わりに、配列をオブジェクトのコレクションと見なして、そこにある多対多関係を観察します。

Availability
Available in OS X v10.4 and later.
See Also
- removeObserver:forKeyPath:
- addObserver:toObjectsAtIndexes:forKeyPath:options:context:
Declared In
NSKeyValueObserving.h

addObserver:toObjectsAtIndexes:forKeyPath:options:context:

インデックスにあるオブジェクトへの、指定したキーパスに使うKVO通知を受け取るオブザーバを登録します。

- (void)addObserver:([NSObject *)anObserver toObjectsAtIndexes:(NSIndexSet *)indexes forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context

Parameters
anObserver
オブザーバ。

indexes
インデックスセット。

keyPath
観察する配列への相対的な、観察されるキーパス。

options
通知に含めるオプション。

context
通知へ渡すコンテキスト。

Discussion
optionsは通知に含まれるものを決定し、contextは通知へ渡されます。

これは単なるコンビニエンスメソッドではありません。このメソッド呼び出しは、- removeObserver:fromObjectsAtIndexes:forKeyPath:context:メソッドを繰り返し呼び出すより、かなり高速になる可能性があります。

Availability
Available in OS X v10.3 and later.
See Also
- removeObserver:fromObjectsAtIndexes:forKeyPath:context:
Related Sample Code
iSpend
Sketch
Sketch+Accessibility
Declared In
NSKeyValueObserving.h

arrayByAddingObject:

レシーバをコピーして、それに与えられたオブジェクトを終端へ加えて生成した新しい配列を返します。

- (NSArray *)arrayByAddingObject:(id)anObject

Parameters
anObject
オブジェクト。

Return Value
レシーバをコピーして、anObjectを終端へ加えて生成した新しい配列

Discussion
anObjectnilなら、NSInvalidArgumentExceptionが発生します。

Availability
Available in OS X v10.0 and later.
See Also
addObject: (NSMutableArray)
Related Sample Code
SharingServices
UIElementInspector
Declared In
NSArray.h

arrayByAddingObjectsFromArray:

レシーバをコピーして、それに与えられた配列の中に含まれるオブジェクトを終端へ加えて生成した新しい配列を返します。

- (NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArray

Parameters
otherArray
配列。

Return Value
レシーバをコピーして、それにotherArrayの中に含まれるオブジェクトを終端へ加えて生成した新しい配列

Availability
Available in OS X v10.0 and later.
See Also
addObjectsFromArray: (NSMutableArray)
Related Sample Code
avexporter
AVRecorder
DragNDropOutlineView
Sketch
Sketch+Accessibility
Declared In
NSArray.h

componentsJoinedByString:

あたえられたファイル分割子*を配列の要素の間に挟んで連結してNSStringを組み立てて、それを返します。(*separator, セパレータ)

- (NSString *)componentsJoinedByString:(NSString *)separator

Parameters
separator
配列要素の間に挟み込む文字列。

Return Value
配列要素の間にseparator挟んで連結して組み立てたNSStringオブジェクト。配列が何も要素を持たないと、空文字列を表すNSStringを返します。

Discussion
たとえば、つぎの抜粋コードは"here be dragons"をコンソールへ送ります。

NSArray *pathArray = [NSArray arrayWithObjects:@"here", @"be", @"dragons", nil];
NSLog(@"%@",[pathArray componentsJoinedByString:@" "]);

Special Considerations
配列にあるどの要素も、descriptionメソッドを処理できなければなりません。

Availability
Available in OS X v10.0 and later.
See Also
componentsSeparatedByString: (NSString)
Related Sample Code
AttachAScript
CryptoCompatibility
PDF Annotation Editor
RemoteCurrency
Target-Action using Cocoa Bindings
Declared In
NSArray.h

containsObject:

与えられたオブジェクトが、配列の中に表れるかどうかを真偽値で返します。

- (BOOL)containsObject:(id)anObject

Parameters
anObject
オブジェクト。

Return Value
配列の中にanObjectが表れるならYES、でなければNO

Discussion
このメソッドは、配列オブジェクトの要素全てへisEqual:メソッドを送ること(そしてisEqual:メソッドの引数としてanObjectを渡します)でanObjectが表れるかどうかで決定します。

Availability
Available in OS X v10.0 and later.
See Also
- indexOfObject:
- indexOfObjectIdenticalTo:
Related Sample Code
Sketch+Accessibility
TextEdit
Declared In
NSArray.h

count

配列に入っている、現在のオブジェクト個数を返します。

- (NSUInteger)count

Return Value
配列に入っている現在のオブジェクト個数。

Availability
Available in OS X v10.0 and later.
See Also
- objectAtIndex:
Related Sample Code
ImageKitDemo
QuickLookSketch
Sketch
Sketch+Accessibility
TableViewPlayground
Declared In
NSArray.h

description

配列の要素を、プロパティリスト形式で表した文字列を返します。

- (NSString *)description

Return Value
配列の要素を、プロパティーリスト形式で表した文字列。

Availability
Available in OS X v10.0 and later.
See Also
- descriptionWithLocale:
- descriptionWithLocale:indent:
Declared In
NSArray.h

descriptionWithLocale:

配列の要素をプロパティリスト形式で表した文字列を返します。

- (NSString *)descriptionWithLocale:(id)locale

Parameters
locale
配列の要素(と見なせるもの)をフォーマットするのに使うオプションを指定するNSLocaleまたはNSDictionaryオブジェクト。要素にフォーマットを適用したくなければ、nilを指定して下さい。

Return Value
配列の要素をプロパティリスト形式で表した文字列

Discussion
レシーバ配列にある全ての要素へ、どのようにlocaleが適用されるのかの説明は、- descriptionWithLocale:indent:を参照して下さい。

Availability
Available in OS X v10.0 and later.
See Also
- description
- descriptionWithLocale:indent:
Declared In
NSArray.h

descriptionWithLocale:indent:

配列の要素をプロパティリスト形式で表した文字列を返します。

- (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level

Parameters
locale
配列の要素(と見なせるもの)をフォーマットするのに使うオプションを指定するNSLocaleまたはNSDictionaryオブジェクト。要素にフォーマットを適用したくなければ、nilを指定して下さい。

level
出力をより読みやすくするための、インデントのレベル。levelを0にセットするとインデントに4つのスペースを使い、1とするとタブ文字を使って出力します。

Return Value
配列の要素をプロパティリスト形式で表した文字列。

Discussion
配列要素の文字列表現が入ったNSStringオブジェクトを返します。その順は、先頭から末尾の順へ向かってです。あえられた要素の文字列表現を得るために、descriptionWithLocale:indent:は次のように処理します:

  • 要素がNSStringオブジェクトなら、そのまま使います。
  • オブジェクトがdescriptionWithLocale:indent:メソッドに応答するなら、このメソッドを要素の文字列表現を得るのに呼び出します。
  • オブジェクトが- descriptionWithLocale:メソッドに応答するなら、このメソッドを要素の文字列表現を得るのに呼び出します。
  • 上記の条件に当てはまらないなら、- descriptionメソッドを呼び出して要素の文字列表現を得ます。

Availability
Available in OS X v10.0 and later.
See Also
- description
- descriptionWithLocale:
Declared In
NSArray.h

enumerateObjectsAtIndexes:options:usingBlock:

配列に中にある、インデックスで指定されたオブジェクトに対して、あたえられたブロックを実行します。

- (void)enumerateObjectsAtIndexes:(NSIndexSet *)indexSet options:(NSEnumerationOptions)opts usingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block

Parameters
indexSet
列挙するオブジェクトのNSIndexSetオブジェクト。

opts
列挙でのオプションを指定するビットマスク(同時進行で実行するかどうか、逆順に実行するかどうか)。

block
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列の要素。

idx
配列要素のインデックス。

stop
真偽値へのリファレンス。ブロックに内からこの値をYESにセットすると、それ以上の処理を止めます。stopは外向きのみの引数です。blockの中からのみ、この真偽値をYESに変えて下さい。

Discussion
デフォルトでは、列挙はindexSetで指定した先頭のオブジェクトから始まり末尾の配列要素まで、順々に処理を進めます。この振る舞いを変更するのに、NSEnumerationConcurrent、NSEnumerationReverseの両方とも、もしくはいずれか一方を指定できます。

このメソッドは同時進行的に実行します。

重要:blockパラメータ、もしくはindexSetnilだと、このメソッドは例外を発生させます。

Availability
Available in OS X v10.6 and later.
See Also
- enumerateObjectsUsingBlock:
- makeObjectsPerformSelector:
- makeObjectsPerformSelector:withObject:
Declared In
NSArray.h

enumerateObjectsUsingBlock:

配列にあるオブジェクトすべてへ、あたえられたブロックを実行します。列挙は先頭のオブジェクトから開始して、末尾のオブジェクトまで順々に行われます。

- (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block

Parameters
block
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列にある要素。

idx
配列にある要素のインデックス。

stop
真偽値へのリファレンス。ブロックに内からこの値をYESにセットすると、それ以上の配列処理を止めます。stopは外向きのみの引数です。blockの中からのみ、この真偽値をYESに変えて下さい。

Discussion
blockパラメータがnilなら、このメソッドは例外を発生させます。

このメソッドは同時進行的に処理します。

Availability
Available in OS X v10.6 and later.
See Also
- enumerateObjectsWithOptions:usingBlock:
- makeObjectsPerformSelector:
- makeObjectsPerformSelector:withObject:
Related Sample Code
ImageApp
Target-Action using Cocoa Bindings
TextEdit
Declared In
NSArray.h

enumerateObjectsWithOptions:usingBlock:

配列にあるオブジェクトすべてへ、あたえられたブロックを実行します。

- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts usingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block

Parameters
opts
列挙でのオプションを指定するビットマスク(同時進行で実行するかどうか、逆順に実行するかどうか)。

block
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列の要素。

idx
配列要素のインデックス。

stop
真偽値へのリファレンス。ブロックに内からこの値をYESにセットすると、それ以上の配列処理を止めます。stopは外向きのみの引数です。blockの中からのみ、この真偽値をYESに変えて下さい。

Discussion
デフォルトでは、列挙は先頭のオブジェクトから始まり、末尾の配列オブジェクトまで、順々に処理を進めます。この振る舞いを変更するのに、NSEnumerationConcurrent、NSEnumerationReverseの両方とも、もしくはいずれか一方を指定できます。

このメソッドは同時進行的に実行します。

重要:blockパラメータ、もしくはindexSetnilだと、このメソッドは例外を発生させます。

Availability
Available in OS X v10.6 and later.
See Also
- enumerateObjectsUsingBlock:
- makeObjectsPerformSelector:
- makeObjectsPerformSelector:withObject:
Declared In
NSArray.h

filteredArrayUsingPredicate:

レシーバ配列の中のオブジェクトすべてを、あたえられたプレディケート*で評価し、プレディケートが真を返したオブジェクトが入っている新しい配列を返します。(predicate*, 述語)

- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate

Parameters
predicate
レシーバ配列の要素を評価するためのプレディケート。

Return Value
predicateが真を返したオブジェクトが入っている新しい配列。

Discussion
より詳細には、Predicate Programming Guideを参照してください。

Availability
Available in OS X v10.4 and later.
Declared In
NSPredicate.h

firstObject

配列の先頭オブジェクトを返します。

- (id)firstObject

Return Value
配列の先頭オブジェクト。配列が空なら、nilを返します。

Availability
Available in OS X v10.6 and later.
See Also
- lastObject
Declared In
NSArray.h

firstObjectCommonWithArray:

レシーバ配列に入っているオブジェクトで、もう1つの配列にもあるオブジェクトと同じもののうち、最初に見つかったものを返します。

- (id)firstObjectCommonWithArray:(NSArray *)otherArray

Parameters
otherArray
配列。

Return Value
レシーバ配列に入っているオブジェクトで、otherArrayのオブジェクトと同じもののうち、最初に見つかったもの。そのようなオブジェクトが見つからないなら、nilを返します。

Discussion
このメソッドは、オブジェクトの等価性をチェックするのにisEqual:メソッドを使います。

Availability
Available in OS X v10.0 and later.
See Also
- containsObject:
Declared In
NSArray.h

getObjects:range:

指定した範囲にあるレシーバ配列の要素をコピーして、aBufferへ納めます。

- (void)getObjects:(id __unsafe_unretained NSIndexSet)aBuffer range:(NSRange])aRange

Parameters
aBuffer
オブジェクトのC配列。サイズは、少なくともaRangeで指定した範囲の長さ以上でなければなりません。

aRange
配列の境界内に収まる範囲。範囲の場所と長さが入れるのものより大きいなら、このメソッドはNSRangeExceptionを発生させます。

Discussion
このメソッドは、aRangeで指定した範囲にある配列オブジェクトをaBufferへコピーします。従って、バッファのサイズは少なくとも、範囲の長さをオブジェクトリファレンスのサイズで掛けた値より大きくなければなりません。次に例を示します(これは、ほんの一例です。一般的には、配列の要素を反復するだけのバッファを生成するべきではありません)。

NSArray *mArray = // an array with at least six elements...;
id *objects;
NSRange range = NSMakeRange(2, 4);
objects = malloc(sizeof(id) * range.length);
[mArray getObjects:objects range:rangNSIndexSet;
for (i = 0; i < range.length; i++) {
    NSLog(@"objects: %@", objects[NSIndexSet);
}
free(objects);

Availability
Available in OS X v10.0 and later.
See Also
+ arrayWithObjects:count:
Declared In
NSArray.h

indexesOfObjectsAtIndexes:options:passingTest:

あたえられたインデックスが指定する配列要素のうち、あたえられた列挙オブションを使い、あたえられたブロックのテストをパスしたもののインデックスを返します。

- (NSIndexSet *)indexesOfObjectsAtIndexes:(NSIndexSet *)indexSet options:(NSEnumerationOptions)opts passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate

Parameters
indexSet
列挙を行うオブジェクト指定するNSIndexSetオブジェクト。

opts
列挙でのオプションを指定するビットマスク(同時進行で実行するかどうか、逆順に実行するかどうか)。

predicate
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列の要素。

idx
配列要素へのインデックス。

stop
真偽値へのリファレンス。ブロックに内からこの値をYESにセットすると、それ以上の配列処理を止めます。stopは外向きのみの引数です。blockの中からのみ、この真偽値をYESに変えて下さい。
ブロックは、objがこのテストをパスしたかどうか表す真偽値を返します。

Return Value
配列のに入っている値で、predicateで指定したテストをパスした配列要素に対応するインデックス。配列にあるどのオブジェクトもテストをパスしなかったら、空のインデックスセットを返します。

Discussion
デフォルトでは、列挙はindexSetで指定した先頭のオブジェクトから始まり末尾の配列要素まで、処理を進めます。この振る舞いを変更するのに、NSEnumerationConcurrent、NSEnumerationReverseの両方とも、もしくはいずれか一方を指定できます。

重要:Blockパラメタ、もしくはindexSetnilだと、このメソッドは例外を発生させます。

Availability
Available in OS X v10.6 and later.
Declared In
NSArray.h

indexesOfObjectsPassingTest:

あたえられたブロックのテストをパスした配列要素のインデックスを返します。

- (NSIndexSet *)indexesOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate

Parameters
predicate
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列の要素。

idx
配列要素のインデックス。

stop
真偽値へのリファレンス。ブロックに内からこの値をYESにセットすると、それ以上の配列処理を止めます。stopは外向きのみの引数です。blockの中からのみ、この真偽値をYESに変えて下さい。
ブロックは、objがこのテストをパスしたかどうか表す真偽値を返します。

Return Value
配列のに入っている値で、predicateで指定したテストをパスしたものに対応するインデックス。配列にあるどのオブジェクトもテストをパスできなかったら、空のインデックスセットを返します。

Availability
Available in OS X v10.6 and later.
Declared In
NSArray.h

indexesOfObjectsWithOptions:passingTest:

あたえられた列挙オブションを用い、あたえられたブロックのテストをパスした配列要素のインデックスを返します。

- (NSIndexSet *)indexesOfObjectsWithOptions:(NSEnumerationOptions)opts passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate

Parameters
opts
列挙でのオプションを指定するビットマスク(同時進行で実行するかどうか、逆順に実行するかどうか)。

predicate
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列の要素。

idx
配列要素のインデックス。

stop
真偽値へのリファレンス。ブロックに内からこの値をYESにセットすると、それ以上の配列処理を止めます。stopは外向きのみの引数です。blockの中からのみ、この真偽値をYESに変えて下さい。
ブロックは、objがこのテストをパスしたかどうか表す真偽値を返します。

Return Value
predicateで指定したテストをパスした配列要素に対応するインデックス。。配列にあるどのオブジェクトもテストをパスできなかったら、空のインデックスセットを返します。

Discussion
デフォルトでは、列挙は先頭のオブジェクトから始まり、末尾の配列要素まで、処理を進めます。この振る舞いを変更するのに、 NSEnumerationConcurrent、NSEnumerationReverseの両方とも、もしくはいずれか一方を指定できます。

重要:ブロックパラメタがnilだと、このメソッドは例外を発生させます。

Availability
Available in OS X v10.6 and later.
Declared In
NSArray.h

indexOfObject:

あたえられたオブジェクトと等価な配列要素に対応する最小のインデックスを返します。

- (NSUInteger)indexOfObject:(id)anObject

Parameters
anObject
オブジェクト。

Return Value
anObjectと等価な配列要素に対応する最小のインデックス。どの配列要素もanObjectと等価ではないなら、NSNotFoundを返します。

Discussion
検索をインデックス0から始め、どの配列要素へもisEqual:メソッドを送り、マッチしたのが見つかるか、または配列の終端に達するかするまで実行します。このメソッドはanObjectパラメタをisEqual:メッセージへ渡します。isEqual:*がYESを返したら、オブジェクトは同じと評価されます(*[NSObjectプロトコルで宣言されています)。

Availability
Available in OS X v10.0 and later.
See Also
- containsObject:
- indexOfObjectIdenticalTo:
Related Sample Code
AnimatedTableView
CocoaSlides
DemoAssistant
DragNDropOutlineView
TreeView
Declared In
NSArray.h

indexOfObject:inRange:

あたえられた範囲において、あたえられたオブジェクトと等価な配列要素に対応する最小のインデックスを返します。

- (NSUInteger)indexOfObject:(id)anObject inRange:(NSRange])range

Parameters
anObject
オブジェクト。

range
anObjectを探す、配列にあるインデックスの範囲。

Return Value
anObjectと等価な配列要素に対応する最小のインデックス。どの配列要素もanObjectと等価ではないなら、NSNotFoundを返します。

Discussion
検索をrange.locationから始め、どの配列要素へもisEqual:メソッドを送り、マッチしたのが見つかるか、またはrangeの終端に達するかするまで実行します。このメソッドはanObjectパラメタをisEqual:メッセージへ渡します。isEqual:*がYESを返したら、オブジェクトは同じだと評価されます。

rangeが配列の中に存在しない範囲を表していたら、このメソッドはNSRangeExceptionを発生させます。

Availability
Available in OS X v10.0 and later.
See Also
- containsObject:
- indexOfObjectIdenticalTo:inRange:
Declared In
NSArray.h

indexOfObject:inSortedRange:options:usingComparator:

あたえられたNSComparatorブロックを使い、配列にある要素とオブジェクトを比較し、指定された範囲にあるインデックスを返します。

- (NSUInteger)indexOfObject:(id)obj inSortedRange:(NSRange])range options:(NSBinarySearchingOptions)opts usingComparator:(NSComparator)cmp

Parameters
obj
配列の中で探すオブジェクト。
この値がnilならば、NSInvalidArgumentExceptionが投げられます。

range
objを探す、配列の中にある範囲。
rが配列の境界を越える*と、NSRangeExceptionが投げられます(*rangeの位置と長さのどちらかが、配列のcountを超えたら)。

opts
検索のオプション。取り得る値については、“NSBinarySearchingOptions"を参照して下さい。
NSBinarySearchingFirstEqualとNSBinarySearchingLastEqualの両方を指定すると、NSInvalidArgumentExceptionが投げられます。

cmp
objを配列の要素と比較するのに使う比較ブロック。(comparator, コンパレータ、比較演算子)
この値がNULLなら、NSInvalidArgumentExceptionが投げられます。

Return Value
もし、NSBinarySearchingInsertionIndexオプションを指定しないなら:

  • objが見つかり、かつNSBinarySearchingFirstEqualもNSBinarySearchingLastEqualのどちらもが指定されていないなら、マッチした任意オブジェクトのインデックスを返します。
  • NSBinarySearchingFirstEqualも指定されていたら、最初に見つかったオブジェクトのインデックスを返します。
  • NSBinarySearchingLastEqualも指定されていたら、最後に見つかったオブジェクトのインデックスを返します。
  • オブジェクトが見つからなければ、NSNotFoundを返します。

NSBinarySearchingInsertionIndexオプションが指定されていたら、レシーバ配列にobjを挿入してソートしたときにobjが配置されるだろうインデックスを返します。

  • objが見つかり、かつNSBinarySearchingFirstEqualもNSBinarySearchingLastEqualのどちらもが指定されていないなら、マッチしたオブジェクトの中から最も最も大きいインデックスを返します。
  • NSBinarySearchingFirstEqualも指定されていたら、最初に見つかったオブジェクトのインデックスを返します。
  • NSBinarySearchingLastEqualも指定されていたら、最後に見つかったオブジェクトのインデックスを返します。
  • objが見つからないなら、オブジェクトより大きいインデックスを返します。もしくは、オブジェクトがどの要素よりも大きいなら、配列終端のインデックスを返します。

Special Considerations
配列の要素は、すでにcmpコンパレータでソートされていなければなりません。配列がソートされていないなら、結果は未定義です。

Availability
Available in OS X v10.6 and later.
Declared In
NSArray.h

indexOfObjectAtIndexes:options:passingTest:

あたえられたインデックスセットにある配列要素のうち、あたえられた列挙オブションを使い、あたえられたブロックのテストをパスした最初のオブジェクトのインデックスを返します。

- (NSUInteger)indexOfObjectAtIndexes:(NSIndexSet *)indexSet options:(NSEnumerationOptions)opts passingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate

Parameters
indexSet
列挙を行うオブジェクトを指定するNSIndexSetオブジェクト。

opts
列挙でのオプションを指定するビットマスク(同時進行で実行するかどうか、逆順に実行するかどうか)。

predicate
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列の要素。

idx
配列要素のインデックス。

stop
真偽値へのリファレンス。ブロックに内からこの値をYESにセットすると、それ以上の配列処理を止めます。stopは外向きのみの引数です。blockの中からのみ、この真偽値をYESに変えて下さい。
ブロックは、objがこのテストをパスしたかどうか表す真偽値を返します。

Return Value
配列に入っている値で、predicateで指定したテストをパスしたものに対応するインデックスの最小値。配列にあるどのオブジェクトもテストをパスしないならNSNotFoundを返します。

Discussion
デフォルトでは、列挙は先頭のオブジェクトから始まり、indexSetで指定した末尾の配列要素まで、処理を進めます。この振る舞いを変更するのに、NSEnumerationConcurrent、NSEnumerationReverseの両方とも、もしくはいずれか一方を指定できます。

重要:BlockパラメタかindexSetnilだと、このメソッドは例外を発生させます。

Availability
Available in OS X v10.6 and later.
Declared In
NSArray.h

indexOfObjectIdenticalTo:

あたえられたオブジェクトと等しい配列要素に対応しているインデックスの最小値を返します。

- (NSUInteger)indexOfObjectIdenticalTo:(id)anObject

Parameters
anObject
オブジェクト。

Return Value
anObjectと等しい配列要素に対応しているインデックスの最小値。配列にあるオブジェクトのどれもがanObjectと等価でないなら、、NSNotFoundを返します。

Discussion
アドレスが同じオブジェクトを等しいとみなします。

Availability
Available in OS X v10.0 and later.
See Also
- containsObject:
- indexOfObject:
Related Sample Code
QuickLookSketch
Sketch
Sketch+Accessibility
SourceView
TextEdit
Declared In
NSArray.h

indexOfObjectIdenticalTo:inRange:

指定された範囲の中で、あたえられたオブジェクトと等しい配列要素に対応するインデックスの最小値を返します。

- (NSUInteger)indexOfObjectIdenticalTo:(id)anObject inRange:(NSRange])range

Parameters
anObject
オブジェクト。

range
anObjectの検索を行う、配列内のインデックスの範囲。

Return Value
anObjectと等しい配列要素に対応するインデックスの最小値。rangeの配列にあるオブジェクトのどれもがanObjectと等価でないなら、NSNotFoundを返します。

Discussion
アドレスが同じオブジェクトを等しいと見なします。

Availability
Available in OS X v10.0 and later.
See Also
- containsObject:
- indexOfObject:inRange:
Declared In
NSArray.h

indexOfObjectPassingTest:

あたえられたブロックを用いたテストをパスした最初のオブジェクトのインデックスを返します。

- (NSUInteger)indexOfObjectPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate

Parameters
predicate
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列の要素。

idx
配列にある要素のインデックス。

stop
真偽値へのリファレンス。この値をYESにセットすると、それ以上の配列処理を止められます。

ブロックは、オブジェクトがテストをパスしたかどうかを示す真偽値を返します。それ以上の処理を止めるためにYESを返します。

Return Value
predicateで指定したテストをパスした配列要素に対応するインデックスの最小値。配列にあるどのオブジェクトもテストをパスできなかったら、NSNotFoundを返します。

Discussion
''ブロックパラメタがnilなら、このメソッドは例外を発生させます。

Availability
Available in OS X v10.6 and later.
Declared In
NSArray.h

indexOfObjectWithOptions:passingTest:

あたえられた列挙オプションを使い、あたえられたブロックのテストをパスしたオブジェクトのインデックスを返します。

- (NSUInteger)indexOfObjectWithOptions:(NSEnumerationOptions)opts passingTest:(BOOL (^)(id obj, NSUInteger
idx, BOOL *stop))predicate

Parameters
opts
列挙のオプションを指定するビットマスク(同時進行的に処理するのかどうか、逆順に処理するかどうか)。

predicate
配列の要素へ適用するブロック。
ブロックは3つの引数を取ります。

obj
配列の要素。

idx
配列要素のインデックス。

stop
真偽値へのリファレンス。ブロックに内からこの値をYESにセットすると、それ以上の配列処理を止めます。stopは外向きのみの引数です。blockの中からのみ、この真偽値をYESに変えて下さい。

ブロックは、テストをパスしたオブジェクトがあるかどうかを示す真偽値を返します。

Return Value
predicateoptsで指定したテストをパスした値に対応するインデックス。optsビットマスクが逆順を指定したら、最後にマッチしたアイテムを返します。そうでないなら、最初にマッチしたオブジェクトを返します。配列にあるどのオブジェクトもテストをパスしないなら、NSNotFoundを返します。

Discussion
デフォルトでは、列挙は先頭のオブジェクトから始まり、末尾の配列要素まで、処理を進めます。この振る舞いを変更するのに、 NSEnumerationConcurrent、NSEnumerationReverseの両方とも、もしくはいずれか一方を指定できます。

重要:ブロックパラメータがnilなら、このメソッドは例外を発生させます。

Availability
Available in OS X v10.6 and later.
Declared In
NSArray.h

 
 

Copyright © 2013 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2013-10-22