Мне нравится делать массив из структуры typedef, которую у меня есть.NSMutableArray with Struct
Он отлично работает, когда я работаю с размером матрицы FIXED. Но для того, чтобы быть открытым для больших массивов, я думаю, я должен сделать это с помощью nsmutable массива. Но здесь я не получаю его запустить
//------------ test STRUCT
typedef struct
{
int id;
NSString* picfile;
NSString* mp3file;
NSString* orgword;
NSString* desword;
NSString* category;
} cstruct;
//------- Test Fixed Array
cstruct myArray[100];
myArray[0].orgword = @"00000"; // write data
myArray[1].orgword = @"11111";
NSLog(@"Wert1: %@",myArray[1].orgword); // read data *works perfect
//------ Test withNSMutable
NSMutableArray *array = [NSMutableArray array];
cstruct data;
int i;
for (i = 1; i <= 5; i++) {
data.orgword = @"hallo";
[array addObject:[NSValue value:&data withObjCType:@encode(struct cstruct)]];
}
data = [array objectAtIndex:2]; // something is wrong here
NSLog(@"Wert2: %@",data.orgword); // dont work
любую короткую демонстрацию, которая работает была бы оценена :) еще учусь
Thx Крис
Ваш массив возвращает экземпляр NSValue ... вот что вы там положили. Итак, чтобы читать: [[массив objectAtIndex: 2] getValue: &data]; –
OK !! :) THX, теперь это работает :) –