App maken: ook jij kunt het leren!

 

de iOS Academie Forums

Forums - App-ontwikkeling - Swift en iOS: Dictionary of array

Stephaan  Stephaan heeft nog geen Studiekaart. Klokje17 sep 2015, 10:49
Avatar
Avatar
Berichten:17


Ik ben zo wat ah testen met swift voordat ik effectief ah het werk ga,

nu ga ik in de toekomst een soort van tabel moeten maken waardat verschillende kolomen zijn en verschillende rijen in staan

ik heb een dictionary kunnen aanpassen zodat ik er verschillende value's kan in plaatsen maar nu moet ik die wel nog appart kunnen opvragen ook natuurlijk

 var dictDict = ["var1": ["Stephaan", "België", 5], "var2": ["Natalie", "Nederland",3],"var3": ["Daisy", "Frankrijk",6]]

dictDict["var2"]

hierbij krijg ik het resultaat ["Natalie", "Nederland",3]

maar ik zou natuurlijk de velden appart moeten hebben of is daar een andere oplossing voor

Reageer


AppChanger  Laurens heeft nog geen Studiekaart. Klokje18 sep 2015, 14:36
Avatar
Avatar
Berichten:301
Fans:13


Hallo Stephaan,

Eerst en vooral zal je moeten zorgen dat je de keys van de dictionay kent, zoadat je ze kan oproepen. De keys voor de dictionary (bvb var1) kan je opslaan in een array.

De data kan je dan opslaan in een dictionary waar je de keys gebruikt om de gekoppelde data op te vragen.

De data zelf zou je kunnen opslaan in een dictionary of in een array. Als je de array gebruikt zal je wel steeds de elementen op de zelfde plaats moeten zetten (bvb: steeds de naam op index 0, het land op index 1 en het getal op index 2. Als je een Dictionary gebruikt, dan kan je de data oproepen via de key.

In verband met je voorbeeld:

Dit kan je best doen door door alle elementen te lopen.

Dit doe je als volgt:

// Eerst de dictionary vullen. (Misschien is het gemakkelijk om ook je getal in je array als String op te slaan, dit zorgt er voor dat je een array van Strings hebt.) 

var dictDict = ["var1": ["Stephaan", "België", "5"], "var2": ["Natalie", "Nederland","3"],"var3": ["Daisy", "Frankrijk","6"]]

 

// Neem het value voor een bepaalde key.

var arrayWithInfo = dictDict["var1"]

 

// Optie 1

// Doorloop het array. (De elementen in de de array staan steeds zoals je ze er in hebt gezet.)

for elements in arrayWithInfo! {

// Nu krijg je elk element te zien.

// Als je nu ook bijhoudt hoeveel keer er al is doorgelopen, weetje welk element het is.

    print(element)

}

 

// Optie 2

// Uit je voorbeeld kan ik opmaken dat er steeds maar 3 elementen bij een dictionary key worden opgeslagen.

// Je zou er dus voor kunnen kiezen om het volgende te doen.

if var arrayWithInfo = dictDict["var1"] {

 

var element1 = arrayWithInfo[0]

var element2 = arrayWithInfo[1]

var element3 = arrayWithInfo[2]

 

}

 

Hopelijk helpt dit al. Indien je nog vragen het stel je ze gerust.

Met vriendelijke groet,

Laurens

 

Reageer

Goed advies! 1 persoon vindt dit goed advies.

Stephaan  Stephaan heeft nog geen Studiekaart. Klokje18 sep 2015, 15:00
Avatar
Avatar
Berichten:17


Thx, ik zal dat dit weekend eens testen

Reageer

Leuk! 1 persoon vindt vindt dit leuk.