App maken: ook jij kunt het leren!

 

de iOS Academie Forums

Forums - Producten van de iOS Academie - Het eBook: Apps bouwen met Swift: Nogmaals sorteren

Jan de  Jan de heeft nog geen punten gescoord op de eerste vier stappen van zijn/haar Studiekaart. Klokje07 dec 2015, 19:26
Avatar
Avatar
Berichten:5


Roelf,

 

volgens mij heb je op bladzijde 127 de verkeerde sort in de tekst staan.

Dat is volgens mij de sort van laag naar hoog en niet van hoog naar laag.

 

groeten,

Jan de boer

Reageer


Aram  Op de eerste vier stappen van zijn/haar studiekaart scoort Aram 52%. Klokje08 dec 2015, 16:22
Avatar
Avatar
Berichten:4


Beste Jan, 

je bedoelt waarschijnlijk bladzijde 172. Daar zit ik momenteel ook en krijg ook 2x dezelfde volgorde van de array terug.

Reageer


David  David heeft nog geen Studiekaart. Klokje08 dec 2015, 18:56
Avatar
Avatar
Berichten:95


Beste Jan en Aram,

 

Alles gaat in principe prima.

 

de fout zit hem er in  dat je in regel 14 iets print wat precies de zelfde waarde heeft als in regel 1, onzeArray is niet aangepast door de functie sort(...) te doen. ook regel 22 geeft precies het zelfde terug als regel 1 en dus ook regel 14. De onzeArray.sort(....) geeft wel het goede terug je zou dit kunnen oplossen door bij regel 4 en regel 16 de tekst te vervangen door onzeArray = onzeArray.sort(..."""wat er allemaal in moet"""......)

 

ik hoop dat dit wat meer duidelijkheid geeft.

 

de zwarte nummers voor de text geeft het regelnummer aan(om het voor de uitleg wat duidelijker te maken) 

(1)var onzeArray = [ "aap", "noot", "mies", "wim",  "zus", "jet", "teun", "vuur",

    "gijs", "lam", "kees", "bok",

    "weide", "does", "hok", "duif",

    "schapen"]

(2)print(onzeArray)

(3)print("nSorteren...n")

(4)onzeArray.sort(  {

  (5)  print("($0) of ($1): ")

   (6) if $0 < $1 {

      (7)  print("($0) komt eerst")

       (8) return true

 (9)   }

  (10)  else {

   (11)     print("($1) komt eerst")

    (12)    return false

  (13)  }  }) 

 

(14)print("n", onzeArray)

 

 

(15)print("nEn nu omgekeerd...n")

(16)onzeArray.sort({

  (17)  if $0 > $1 {

    

  (18)  return true  }

(19) else {

 (20)   return false

  (21)  }  })

 

(22)print(onzeArray)

 

 

@roelf

nog een puntje. roelf volgens je boek en ook volgens de handleiding van apple geeft die 

mutating func sort(isOrderedBefore: (T, T) -> Bool)

maar waarom is het dan een mutating func(..) de waarde word niet aangepast. en zo als ik het van internet geleerd heb geeft een mutating func altijd iets terug binnen dat stuk om het van buiten af aan te passen. Of zit ik er dan helemaal naast? de bug die hierboven beschreven staat is een bug in swift in plaats van een fout in het boek? Of zit ik er nu helemaal naast?

class="page" title="Page 172"> class="layoutArea"> class="column">



Reageer


Jan de  Jan de heeft nog geen punten gescoord op de eerste vier stappen van zijn/haar Studiekaart. Klokje09 dec 2015, 11:22
Avatar
Avatar
Berichten:5


ik bedoel echt bladzijde 127. In het papieren boek. Dus geen eBook. Daar staat een uitleg over het stuk code dat begint op bladzijde 124. De tweede sort moet het omgekeerde resultaat opleveren maar in de uileg staat het stukje code van de eerste sort.

Reageer