NSArray
ドキュメンテーションはあなたの友達です。
- (id)objectAtIndex:(NSUInteger)index
とにかく、オブジェクト配列にアクセスするには、のメソッドを使用できますNSArray
。
Seva Alekseyevが言っていることは、クラスは別の方法で構成する必要があるということです。例えば:
//.h
@interface MyCustomObject : NSObject
{
// you dont need to declare variables, the compiler will do it for you
}
@property (nonatomic, copy) NSString* objObservation;
@property (nonatomic, assign) NSInteger objId;
@property (nonatomic, copy) NSString* objDate;
@property (nonatomic, copy) NSString* objDevice;
@property (nonatomic, assign) double objLatitude;
@property (nonatomic, assign) double objLongitude;
@end
//.m
@implementation MyCustomObject
@synthesize objId;
@synthesize objDate;
@synthesize objDevice;
@synthesize objLatitude;
@synthesize objLongitude;
@synthesize objObservation;
- (void)dealloc
{
/* uncomment if you don't use ARC
[objDate release];
[objDevice release];
[objObservation release];
[super dealloc];
*/
}
@end
このようにクラスを使用します(する必要があります#import "MyCustomObject.h"
)
// populate your object
MyCustomObject* myObj = [[MyCustomObject alloc] init];
myObj.objDate = @"yourDate";
myObj.objDevice = @"yourDevice";
myObj.objId = 1;
myObj.objLatitude = 22.0;
myObj.objLongitude = 23.87;
myObj.objObservation = @"yourObservation";
// insert it into your array (here only for test purposes but you could create an instance variable for store it)
NSArray* myArray = [NSArray arrayWithObjects:myObj, nil];
// if you don't use ARC
[myObj release];
// grab the object from the array
MyCustomObject * currentObj = [myArray objectAtIndex:0];
// see its values, for example
NSLog(@"%@", [currentObj objDevice]);
ここで、いくつかのメモを追加します。
- クラスを使用する場合、大文字で呼び出します。たとえば
MyClass
、notmyclass
の場合、変数は代わりに小文字で始まります。myVariable
- 配列が異なる時間に設定される可能性がある場合は、
NSMutableArray
. ANSArray
は一度作成すると変更できません。NSMutableArray
動的ではなく、オブジェクトを追加または削除できます
- オブジェクトを扱うときは、変数をプロパティでラップする必要があります (この場合、コンパイラがオブジェクトに
@synthesize
ディレクティブを提供するため、変数は必要ありません)。これにより、オブジェクトのカプセル化を壊さないようにすることができます
- 必要に応じて、オブジェクトに初期化子を提供することを考えることができます
質問を書くときは、その周りに何らかの文脈を置き、何をしたか、何を達成したいかを説明するようにしてください。