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: vastlopen in de cursus

Ergie  Ergie heeft nog geen Studiekaart. Klokje03 okt 2015, 12:33
Avatar
Avatar
Berichten:5


Ik denk dat bijna iedereen het wel herkent: Vroeg of laat een moment dat je vastloopt. Herhalen en nogmaals herhalen heeft dan geen zin. Je komt er gewoon niet uit...

Ik heb dit met les 21. Ik begrijp de logica maar niet achter het onderstaande code. Ondanks de uitleg van Roelf. Tja, en wat doe je dan? Wie heeft de gouden tip om verder te komen? is er iemand op het forum die kan helpen met een practische uitleg? Zijn er misschien andere videocursussen op internet die kunnen helpen? Alle tips zijn welkom!

 

while let nieuweKleur = kleurenArray.count > 0 ? kleurenArray[Int(arc4random_uniform(UInt32(kleurenArray.count)))] as UIColor! : nil {

                        if !nieuweKleur.isEqual(self.view.backgroundColor) {

                self.view.backgroundColor = nieuweKleur

                break;

                          }

                   }  

              }

        }

 

Reageer


Erwin  Op de eerste vier stappen van zijn/haar studiekaart scoort Erwin 74%. Klokje03 okt 2015, 14:45
Avatar
Avatar
Berichten:63


Ergie, dit komt bij iedereen regelmatig voor! Verse buitenlucht (met de hond wandelen of een boodschap doen) kan verfrissend werken.

Deze code ververst de achtergrondkleur. Uit de in de array ingevoerde reeks kleuren (UIColor) wordt door de random functie willekeurig een kleur geselecteerd waarvan de KeyValue geen "0" is. Als deze gevonden is wordt deze nieuwe aangepaste variabele backgroundColor als nieuwe achtergrondkleur in de actieve (self) View ingesteld. Tussendoor (if-loop) wordt nog even nagegaan of de oude en nieuwe achtergrondkleur wel echt verschillend zijn, anders kun je het effect van deze code nooit waarnemen, omdat de oude en de nieuwe backgroundColor uiteindelijk dezelfde blijken te zijn.

In alle boeken geeft Roelf aan dat het essentieel is je de onderliggende manier van denken eigen te maken. Soms is je enthousiasme even te groot en werkt de code direct waardoor je de focus op de inhoudelijke aspecten van deze code verliest. Ook hier hebben doel (wat wil je bereiken) en middel (welke specifieke code is daar voor nodig) alles met elkaar te maken. Gelukkig is ieder boek van Roelf als een blokkendoos geschreven. Kijk nog even terug in de tekst en loop de eerdere voorbeelden nog even na. De opbouw van onderliggende theorie die je later in de praktijk brengt via de code geeft je alle uitleg.  Van deze aanpak en de herhaling tot het uiteindelijk werkt, leer je het meest! Succes nú en in de toekomst!

Reageer

Goed advies! 1 persoon vindt dit goed advies.

Duracell  Op de eerste vier stappen van zijn/haar studiekaart scoort Rudy 99%. Klokje03 okt 2015, 15:52
Avatar
Avatar
Berichten:125


while let nieuweKleur: UIColor! = kleurenArray.count > 0 ?

 

Reageer


Ergie  Ergie heeft nog geen Studiekaart. Klokje05 okt 2015, 09:36
Avatar
Avatar
Berichten:5


Ergie, dit komt bij iedereen regelmatig voor! Verse buitenlucht (met de hond wandelen of een boodschap doen) kan verfrissend werken.

Deze code ververst ...

Dank Erwin. Ik moet zeggend at het inderdaad helpt om even afstand te nemen.

Toch zou ik er wel mee geholpen zijn als iemand de syntax zou kunnen uitleggen. Ik begrijp de " while If " niet.

Wie doet een poging?...

Reageer


Erwin  Op de eerste vier stappen van zijn/haar studiekaart scoort Erwin 74%. Klokje05 okt 2015, 15:02
Avatar
Avatar
Berichten:63


Met het 'voorzeggen' van code is niemand geholpen. Voor Les 21 is het essentieel om Les 2 t/m 20 inhoudelijk te begrijpen. Het 'probleem' dat je aankaart wordt o.a. in Les 4 (video) over Lussen en in Boek 1 Apps bouwen met Swift, hoofdstuk 5 Voorwaardelijke Uitvoering en hoofdstuk 7 Lussen vanaf pagina 174 behandeld. Lees het voorbeeldprogramma (5.1) nog eens goed door, klop de voorbeelden vanuit het boek nog eens in én regel een emmertje voor de vallende "kwartjes".Ik wil je wel helpen om het fenomeen "control flow" van je programma te begrijpen.

Control Flow is een basisingredient van ieder programma. Het maakt dat je binnen je programma maximale controle inbouwt over wat op basis van de aangegeven voorwaarden en variabele waarden wel en wat niet wordt uitgevoerd.  Hiervoor zijn een aantal hulpmiddelen bedacht, waaronder voorwaardelijke uitvoering (if, then, else) en lussen (for, while, repeat). De volgende wordt uitgevoerd wanneer er aan voorgaande voorwaarden en waarden voldaan is. Dit is heel krachtig maar is soms, wanneer je de onderliggende theorie niet snapt heel verwarrend. Door deze hulpmiddelen op de juiste manier te combineren kun je krachtige programma's schrijven.

Niemand kan bij het zien van een willekeurig los onderdeel van je fiets weten waar je heen wilt (fietsen). Alles wat ik van deze code begrijp: Je staat stil en deze code zul je opnieuw moeten bouwen! Wat wilde je uiteindelijk bereiken? Waar kan ik in de boeken van Roelf de basiscode terugvinden? 

Zorg dat je de laatste versie van het Boek 1 (versie 2.03) download, want Swift is een levende taal die regelmatig verandert en Roelf trouw zijn kroonjuwelen verder blijft oppoetsen (Chapeau!). 

Reageer