App maken: ook jij kunt het leren!

 

de iOS Academie Forums

Forums - Producten van de iOS Academie - De videocursus: Wat je over Swift moet weten: delegation

Ingrid Olree  Ingrid Olree heeft nog geen Studiekaart. Klokje02 sep 2015, 11:13
Avatar
Avatar
Berichten:2


Heb diverse video's meerdere malen bekeken

echter delegation is mij nog niet helemaal duidelijk.

 

ik heb eeb tableviewcontroller, waarin ik een array gedefinieerd heb.

aan de TBV hangt een view.

in deze view wil ik toegang tot die Array , maar dat lukt me niet

heb ook een protocol geprobeerd zoals in les 20 

 

gr Nico

 

Reageer


Prunus  Op de eerste vier stappen van zijn/haar studiekaart scoort Cor 55%. Klokje02 sep 2015, 16:55
Avatar
Avatar
Berichten:84


Beste Ingrid,

 

Als je wat specifieker bent met je vraag kan ik je misschien helpen.

Algemeen:

Het toegang tot de array in de TableView gaat vanuit de tableview cell. Eventueel een Custom Table View Cell.

Een view zelf kan volgens mij geen gegevens tonen. Je moet er een Label of Textview inzetten.

Prunus

Reageer


Nico  Nico heeft nog geen Studiekaart. Klokje02 sep 2015, 19:53
Avatar
Avatar
Berichten:37


Beste Prunus

ja sorry op de Tableview staat een array

op de tableview staat op de toolbar een + 

hiermee roep ik een view aan waar een text of label field staat

het liefst zou ik dit textfield vullen met een pickerview die de data uit de array van de tableview haalt.

echter in de view waar texfield op staat krijg ik geen kontakt met de array van de tableview

 

gr

 

 

Reageer


Nico  Nico heeft nog geen Studiekaart. Klokje02 sep 2015, 19:55
Avatar
Avatar
Berichten:37


sorry maar Ingrid en Nico zijn man en vrouw heb 1 keer met de verkeerde naam ingelogd.

 

gr nico en ingrid

Reageer


Prunus  Op de eerste vier stappen van zijn/haar studiekaart scoort Cor 55%. Klokje02 sep 2015, 21:47
Avatar
Avatar
Berichten:84


Haha man en vrouw die aan dezelfde code werken. Dat kan nooit goed gaan...:)

 

Oplossing:

1. De array moet je ook benoemen bij de variabelen aan het begin van de TableViewController code. Dus op het hoogste niveau.

Bijvoorbeeld:

 var spelen:[Spel] = []  // Spel is bij mij de entiteit in de database

2. Je moet een segue maken vanuit de tableview cell naar de andere viewController

3. In de functie prepareForSegue moet je de gegevens die je wilt meegeven benoemen.
Voorbeeld:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {

if segue.identifier == "naarAndereViewController" {
let cell = sender as! UITableViewCell
let indexPath = tableView.indexPathForCell(cell)
let spel = spelen[indexPath!.row]
if let row = tableView.indexPathForSelectedRow()?.row {
let destinationController = segue.destinationViewController as! AndereViewController

destinationController.spelNr = Int(spel.spelNr) // Hier wordt het gegeven spelNr uit de geselecteerde tableViewCell doorgegegeven aan de ander ViewController

}

4. In de AndereViewController moet een variabale spelNr aanwezig zijn.

 

Succes!

Prunus

Reageer

Goed advies! 1 persoon vindt dit goed advies.

Nico  Nico heeft nog geen Studiekaart. Klokje03 sep 2015, 09:18
Avatar
Avatar
Berichten:37


Dank u

gr

Reageer