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: Probleempje les 06

Eddy  Op de eerste vier stappen van zijn/haar studiekaart scoort Eddy 40%. Klokje25 jan 2015, 10:52
Avatar
Avatar
Berichten:6


Tijdcode ongeveer 51:45 hier wordt de varabele inhoud gemaakt van het type Optional. Dit wordt gedaan als volgt:

var inhoud: Int?

Dit geeft echter een foutmelding. Als ik in de kantlijn kijk dan doet Xcode mij een voorstel om er () achter te zetten, dan werkt het wel. Het wordt dan dus:

var inhoud: Int?()

Niet heel boeiend maar ben wel benieuwd waardoor dit verschil wordt veroorzaakt.

Reageer


AppChanger  Laurens heeft nog geen Studiekaart. Klokje25 jan 2015, 12:34
Avatar
Avatar
Berichten:301
Fans:13


Hallo Eddy,

Normaal zou het zonder de haken moeten werken. Misschien is het handig als je je code hier eens post?

Heb het net ook eens uitgetest en bij mij werkt het zonder de haken.

Met vriendelijke groeten

Laurens

Reageer


Eddy  Op de eerste vier stappen van zijn/haar studiekaart scoort Eddy 40%. Klokje25 jan 2015, 13:50
Avatar
Avatar
Berichten:6


Hallo Laurens,

Je gaat me toch niet vertellen dat ik een typo heb gemaakt hoop ik ;-)

Dit is de code, alvast bedankt!

func omtrekOppervlakteEnInhoud(#lengte: Int, #breedte: Int, hoogte: Int = 0)

    -> (omtrek: Int, oppervlakte: Int, inhoud: Int?) {

        let omtrek = 2 * lengte + 2 * breedte

        let oppervlakte = lengte * breedte

        

        var inhoud = Int?() //deze haakjes gaat het dus om!

        if hoogte != 0 {

            inhoud = lengte * breedte * hoogte

        }

        return (omtrek, oppervlakte, inhoud)

 

}

edit:

Overigens staat er in de console output te lezen:

 

error: expected member name or contstructor call after type name

   var inhoud = Int?

                ^

Reageer


Erwin  Op de eerste vier stappen van zijn/haar studiekaart scoort Erwin 40%. Klokje25 jan 2015, 14:05
Avatar
Avatar
Berichten:55


Volgens mij moet er staan:

var inhoud: Int?

in jouw code staat ipv van : een = teken

Daarnaast mis je in de tweede regel voor hoogte nog een#

 

Succes

Reageer

Goed advies! 1 persoon vindt dit goed advies.

AppChanger  Laurens heeft nog geen Studiekaart. Klokje25 jan 2015, 14:06
Avatar
Avatar
Berichten:301
Fans:13


Dag Eddy,

 

Toch wel ;-)

Je hebt  var inhoud = Int?  getypt in plaats van var inhoud: Int? (let op is gelijk aan teken).

De haakjes verschijnen omdat Swift denkt dat je een soort van Functie wilt maken.

Zie hoofdstuk 8 Functies in boek Roelf.

Je hebt het wel juist bij je vraag gezet ;-)

Nu is je probleem opgelost denk ik.

Met vriendelijke groeten,

Laurens

Reageer

Goed advies! 1 persoon vindt dit goed advies.

Eddy  Op de eerste vier stappen van zijn/haar studiekaart scoort Eddy 40%. Klokje25 jan 2015, 14:15
Avatar
Avatar
Berichten:6


Erwin en Laurens, dank voor jullie antwoorden.

Je vraagt je echt af hoe je hier overheen kunt kijken steeds maar weer en erger nog, hoe je dat in het vervolg kunt voorkomen.

@Edwin dat # voor hoogte hoort er niet te staan dat was een onderdeel juist uit de les.

Reageer

Leuk! 2 personen vinden vinden dit leuk.

AppChanger  Laurens heeft nog geen Studiekaart. Klokje25 jan 2015, 14:15
Avatar
Avatar
Berichten:301
Fans:13


Volgens mij moet er staan:

var inhoud: Int?

in jouw code staat ipv van : een = teken

Daarnaast mis je in de tweede regel voor hoogte nog ...

Dag Erwin,

De # moet er niet staan (het mag), deze geven enkel aan dat de namen van de argumenten moeten worden meegegeven als functie-argument. Dit bvb al je iets wilt laten doen waarbij het vereist is dat het argument wordt ingevuld, het kan je code veiliger maken, indien je het zou vergeten mee te geven krijg je een error. Het maakt je argument verplicht. (Hier omdat je voor een oppervlakte te kunnen berekenen verplicht een lengte en breedte nodig hebt.)

Indien niet duidelijk zeg je het maar, dan leg ik het nog wat beter uit.

Reageer

Goed advies! 1 persoon vindt dit goed advies.
Leuk! 1 persoon vindt vindt dit leuk.

Erwin  Op de eerste vier stappen van zijn/haar studiekaart scoort Erwin 40%. Klokje25 jan 2015, 16:40
Avatar
Avatar
Berichten:55


Hoi Laurens,

Bedankt, tja les 6 dat is alweer even geleden :) mijn geheugen moest even opgefrist worden.

 

Erwin

 

Reageer

Leuk! 1 persoon vindt vindt dit leuk.

Admin Roelf  Klokje25 jan 2015, 16:58
Avatar


Erwin en Laurens, dank voor jullie antwoorden.

Je vraagt je echt af hoe je hier overheen kunt kijken steeds maar weer en erger nog, hoe je dat in het v ...

Eddy,

"Je vraagt je echt af hoe je hier overheen kunt kijken steeds maar weer en erger nog, hoe je dat in het vervolg kunt voorkomen."

Heel eenvoudig: kwestie van doorzetten. Van dergelijke fouten leer je het meest, hoe onwaarschijnlijk dat ook lijkt. Door dergelijke fouten te maken, laat je zien dat je op de goede weg bent!

Voor de rest heb ik aan de (voortreffelijke) antwoorden in deze discussie niets toe te voegen :)

 

Reageer

Goed advies! 3 personen vinden dit goed advies.