NSArrayクラスリファレンス:付録A: 廃止されたNSArrayメソッド

Last-modified: 2014-01-29 (水) 17:45:58

廃止とされたメソッドは、ほかで置き換えられていて、将来はサポートされなくなるでしょう。

OS X v10.6で廃止

getObjects:

配列に入っている全てのオブジェクトをaBufferへコピーします。(OS X v10.6で廃止。代わりにgetObjects:range:を使ってください。)

  • (void)getObjects:(id __unsafe_unretained [])objects

Parameters
aBuffer
配列の[[count>]]以上のサイズを持つ、オブジェクトのC配列。

Discussion
このメソッドは、配列に入っている全てのオブジェクトをaBufferへコピーします。
従ってバッファのサイズは、配列の数にオブジェクトリファレンスのサイズを掛けた値より大きくなければなりません。
次に例を示します(これは例に過ぎません。一般に、配列の内容を繰り返すだけでバッファを生成してはいけません)。

NSArray *mArray = // ...;
id *objects;
NSUInteger count = [mArray count];
objects = malloc(sizeof(id) * count);
[mArray getObjects:objects];
for (i = 0; i < count; i++) {
    NSLog(@"object at index %d: %@", i, objects[i]);
}
free(objects);

Special Considerations
この廃止されたメソッドはバッファオーバーランを起こす可能性があるので、危険です。

Availability
Available in OS X v10.0 and later.
Deprecated in OS X v10.6.

See Also
+ arrayWithObjects:count:
Declared In
NSArray.h

 
 

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

 


documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/DeprecationAppendix