Multidimensional NSMutableArray -fråga

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Lidingö
  • 2010-03-18 23:10

Hej,
Jag vet inte om jag gör en tankegroda men jag försöker få till en multidimensional array. Vad jag är ute efter är:

- qArray (x,y) där x är recordnummer och y = information för posten.

Record #1 : lvl1Array x = 0, lvl2Array y = @date, @"#0", @"#1", @"#2", @"#3", @PK, @SWE, @"Uppgift#1", @"Uppgift#2", @"Uppgift#3", @"Uppgift#4"

Record #2 : lvl1Array x = 1, lvl2Array y = @date-2, @"#0-2", @"#1-2", @"#2-2", @"#3-2", @PK-2, @SWE-2, @"Uppgift#1-2", @"Uppgift#2-2", @"Uppgift#3-2", @"Uppgift#4-2"

Record #3: ...

någon som har något tips? ...eller har jag uttryckt mig otydligt?

//Load array
NSMutableArray *lvl1Array = [[NSMutableArray alloc] initWithObjects: @0, @1, @2, @3, nil];
NSMutableArray *lvl2Array = [[NSMutableArray alloc] initWithObjects: @date, @"#0", @"#1", @"#2", @"#3",
@"PK", @SWE, @"Uppgift#1", @"Uppgift#2", @"Uppgift#3", @"Uppgift#4", nil];

NSMutableArray *qArray = [[NSMutableArray alloc] initWithObjects: lvl1Array, lvl2Array, nil];

  • Medlem
  • Stockholm
  • 2010-03-19 00:06

Vet inte säkert vad du tänker på, men är det inte vettigare att skapa objekt som du sedan håller i en array? Eller är det jag som missförstår vad du försöker göra?

Vänligen, Ylan

  • Medlem
  • 2010-03-19 06:59

Jag är inte säker på att jag förstår vad du vill göra men jag gör ett försök.

Om recordnummer är unikt och inte kan förrekomma två gånger kan väl NSMutableDictionary vara ett alternativ. Då kan du lägga till objekt med

- (void)setObject:(id)anObject forKey:(id)aKey

där aKey kan vara ditt recordnummer.

Och plocka ut objekt med

- (id)objectForKey:(id)aKey

Om det verkligen är en tvådimensionell MxN array du vill göra är det ju bara att du skapar M st NSArray-objekt (med N objekt i varje) och lägger dessa i en annan NSArray (som då har M objekt)?

  • Medlem
  • Lidingö
  • 2010-03-19 19:40

hmmm, när jag läser mitt inlägg inser jag att jag själv inte förstår vad jag skriver. Jag skall försöka förklara.

1. Jag har ett NSOBJECT enligt följande:

- sekvensnummer
- date
- Nr1
- Nr2
- Nr3
- Initial
- Land
- Uppgift#1
- Uppgift#2
- Uppgift#3
- Uppgift#4"

Jag har ca 50 record som ovan.

Jag skulle vilja stoppa i dessa 50 st i en 2-dimension array (x,y) där x = sekvensnummer och y = all relaterad data till sekvensnummret.

Då verkar det inte riktigt som om det är en 2D array du behöver, snarare en NSDictionary. Om du börjar med alla object i en NSArray gör du den då så här:

NSArray *records = ....
NSDictionary *data = [NSDictionary dictionaryWithObjects:records forKeys:[records valueForKeyPath:@sekvensnummer]];

Detta förutsatt att dina objekt är KVC-compliant m.a.p. "sekvensnummer".

1
Bevaka tråden