1

NSMutableArrayまたはNSArrayで、行構造をどのように設定しますか。私が見つけることができるすべての例は、1次元の整数または文字列を扱っています。

では、次のような配列行構造を設定するにはどうすればよいでしょうか。

整数、文字列、日付

4

3 に答える 3

3

配列の配列または辞書の配列を作成する必要があります。インデックスではなく名前でデータを参照する場合は、2番目のアプローチの方が適しています。

NSMutableArray *rows = [[NSMutableArray alloc] init];
NSMutableDictionary *firstRow = [NSMutableDictionary dictionaryWithObjectsAndKeys:
    [NSNumber numberWithInt:12], @"fieldWithNumber",
    [NSString stringWithFormat:@"A formatted string %ld", 34], @"fieldWithString",
    [NSDate date], @"fieldWithDate",
    nil];
[rows addObject:firstRow];
// etc.
于 2012-07-06T10:32:44.117 に答える
2

カスタムクラスを作成し、これらのオブジェクトのコレクションを配列に追加できます。

たとえば、場所についていくつかの行を実行してから、クラスPLACE.hを作成する必要があると想定してください。

@interface PLACE : NSObject 
{
   NSString *title;
   NSString *summary;
   NSString *url;
   NSString *latitude;
   NSString *longitude;
}

@property   (nonatomic, retain) NSString    *title;
@property   (nonatomic, retain) NSString    *summary;
@property   (nonatomic, retain) NSString    *url;
@property   (nonatomic, retain) NSString    *latitude;
@property   (nonatomic, retain) NSString    *longitude;

@end

PLACE.m

@implementation PLACE

@synthesize title;
@synthesize summary;
@synthesize url;
@synthesize latitude;
@synthesize longitude;


- (void) dealloc
{
  [title release];
  [summary release];
  [url release];
  [latitude release];
  [longitude release];
  [super dealloc];
}
@end

PLACE場所ごとにクラスのインスタンスを作成し、配列内のオブジェクトを保持します。それで問題は解決すると思います。

于 2012-07-06T10:25:13.940 に答える
-1

配列は単なるオブジェクトのコレクションです。

整数、日付、文字列を持つオブジェクトを作成し、それらのインスタンスを配列に追加するだけです。

于 2012-07-06T10:19:36.070 に答える