This is not the same as writing i in 10…1, which will compile but crash at runtime.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • dasdom schrieb:

    In einem hat der Club der alten Männer ja Recht: for (int i = 0; i < 10; i++) ist das Intuitivste, das seit der Erfindung des Faustkeils aufgeschrieben wurde.
    Von Intuivität hat bislang keiner gesprochen, oder? Weiter oben habe ich sogar geschrieben, dass for var i in [1...10] vielleicht einen gewissen Lesbarkeitsvorteil gegenüber dem C-Konstrukt hat. Bei stride() oder gar eigenen Generator-Iterator-WhatEver-Objekten geht der meines Erachtens verloren. Intuitiv waren eigentlich nur die Pascal-Schleifen for i from 1 to 10. Die waren aber ziemlich unflexibel.

    Mich erinnert diese Swift-Hysterie stark an den Java-Hype Ende der 90er Jahre. Aber da warst du ja noch zu jung, um das miterlebt haben zu können. ;) :D +scnr+
    „Meine Komplikation hatte eine Komplikation.“
  • nussratte schrieb:

    danke fürs warten, ich bin jetzt durch
    kann weitergehen :thumbsup:

    Bitte. Dann kann ich ja weitermachen. :)

    Perl könnte auch noch Spaß machen.

    Kennt hier jemand den Vortrag von Netanel Rubin vom 31c3, The Perl Jam?
    Der hat mal so richtig eine komplette Sprache in wenigen Minuten komplett auseinandergenommen. Dagegen sind die Swift-Basher hier harmlose Amateure! :D *Deckung*
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • Substitution schrieb:

    Meine Fresse, jetzt ist aber langsam mal gut @Amin Negm-Awad.
    Mein Account ist jetzt ne Woche alt, aber das Forum verfolge ich seit knapp nem Jahr.
    Meine Meinung bestätigt sich, es gibt hier Leute, die systematisch andere Leute fertig machen wollen, sich an irgendwelchen angeblich ketzerhaften Aussagen aufhängen und denken, sie wären sonst irgendwelche Götter. Insbesondere Neulinge mit Fragen, die solch Leuten zu einfach sind oder empfindliche Menschen sind da gute Angriffsziele.
    @torquato Wieso lässt Du Dich so provozieren?

    @Amin Negm-Awad An Deinen Geschwindigkeitsausführungen bin ich auch interessiert. :)
    Schulterzuck.

    Meiner Meinung nach werde ich nicht persönlich beleidigend.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • torquato schrieb:

    Amin Negm-Awad schrieb:

    torquato schrieb:

    Amin, warst Du nicht so erpicht darauf nachzuweisen, um wieviel langsammer Swift, bzw um wieviel schneller C, bzw. Objective-C ist?
    Ich warte.
    Nein. Ich war darauf erpicht, nachdem du das Gegenteil bewiesen hattest.
    Sag mal, bist Du nicht vorrangig Jurist? Mit solchen Argumentationen könntest Du es beim OLG HH echt weit bringen. :D
    Noch etwas, von dem du nichts verstehst, aber dennoch gerne drüber sprichst?
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Pathologically Eclectic Rubbish Lister?
    'Daran gewöhnt man sich, im Gegensatz zu den unsäglichen Einrückungen in Python'?
    [Blockierte Grafik: http://i3.kym-cdn.com/photos/images/original/000/173/591/1VlCT.png]
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Amin Negm-Awad schrieb:

    Substitution schrieb:

    Meine Fresse, jetzt ist aber langsam mal gut @Amin Negm-Awad.
    Mein Account ist jetzt ne Woche alt, aber das Forum verfolge ich seit knapp nem Jahr.
    Meine Meinung bestätigt sich, es gibt hier Leute, die systematisch andere Leute fertig machen wollen, sich an irgendwelchen angeblich ketzerhaften Aussagen aufhängen und denken, sie wären sonst irgendwelche Götter. Insbesondere Neulinge mit Fragen, die solch Leuten zu einfach sind oder empfindliche Menschen sind da gute Angriffsziele.
    @torquato Wieso lässt Du Dich so provozieren?

    @Amin Negm-Awad An Deinen Geschwindigkeitsausführungen bin ich auch interessiert. :)
    Schulterzuck.
    Meiner Meinung nach werde ich nicht persönlich beleidigend.
    Den Vorwurf 'moralisch verkommen' schon wieder vergessen?

    Geschenkt, kratzt mich nicht. Üblicherweise läßt Du Dich sonst in der Tat eher nicht zu solchen Beleidigungen hinreißen. Allerdings läßt Dein Tonfall in der Regel schon mehr als zu wünschen übrig. Aber das sollte normalerweise nicht meine Baustelle sein.
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • torquato schrieb:

    Amin Negm-Awad schrieb:

    Substitution schrieb:

    Meine Fresse, jetzt ist aber langsam mal gut @Amin Negm-Awad.
    Mein Account ist jetzt ne Woche alt, aber das Forum verfolge ich seit knapp nem Jahr.
    Meine Meinung bestätigt sich, es gibt hier Leute, die systematisch andere Leute fertig machen wollen, sich an irgendwelchen angeblich ketzerhaften Aussagen aufhängen und denken, sie wären sonst irgendwelche Götter. Insbesondere Neulinge mit Fragen, die solch Leuten zu einfach sind oder empfindliche Menschen sind da gute Angriffsziele.
    @torquato Wieso lässt Du Dich so provozieren?

    @Amin Negm-Awad An Deinen Geschwindigkeitsausführungen bin ich auch interessiert. :)
    Schulterzuck.Meiner Meinung nach werde ich nicht persönlich beleidigend.
    Den Vorwurf 'moralisch verkommen' schon wieder vergessen?
    Geschenkt, kratzt mich nicht. Üblicherweise läßt Du Dich sonst in der Tat eher nicht zu solchen Beleidigungen hinreißen. Allerdings läßt Dein Tonfall in der Regel schon mehr als zu wünschen übrig. Aber das sollte normalerweise nicht meine Baustelle sein.
    Du bist wirklich großzügig.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • abgesehen von den ganzen Argumenten PRO Swift und CONTRA Swift

    habe ich das Problem das die schwachsinnigen Xcode Fehler mit Swift einfach noch mehr geworden sind.
    ich habe so langsam das Gefühl als würde Apple gar nicht wollen das man für deren Plattformen entwickelt

    bzw. das Argument, Swift sei so einfach zu erlernen, das mag vielleicht Stimmen (finde ich zwar nicht) aber Xcode hilft dabei definitiv nicht

    oder empfindet irgendjemand folgendes Beispiel als einfach, selbstverständlich und intuitiv?

    Beispiel:
    ich lege Properties an und will die in der init mit Leben befüllen:
    1) da kommt dann der erste Fehler
    1.png

    Lösung: ok steht auch in der Meldung, Init Aufruf bevor ich die Properties initializiert habe

    2) das korrigiere ich dann und bekomme folgendes
    2.png

    Lösung: ok anscheinend muss ich wenn ich was vor der super.init machen möchte, self benutzen

    3) er sagt ich benutze self? dann sieht das ganze so aus
    3.png
    Lösung: keine Ahnung ist ja der gleiche Fehler (ist das nun ein Bug oder haben sie hier eine andere Fehlermeldung vergessen?)
    (in diesen Fehler wäre ich in Objective -C gar nicht gelaufen, weil da dieser self weglassen kram gar nicht geht)

    durch rum probieren bin ich dann auf 2 mögliche Lösungen gekommen

    Lösung 1: init vor super.init, benutzen nach super.init
    4.png

    Lösung 2: init direkt beim Property anlegen und benutzen weiterhin nach der super.init

    5.png

    wie in beiden Lösungen zu sehen, geht es dann mit self und ohne self
    in der Fehlermeldung wird sich auf SELF bezogen, obwohl man es gar nicht schreibt, für einen Anfänger ist das dann einfacher zu verstehen das der Fehler mit SELF zu tun hat, obwohl der Anfänger SELF gar nicht benutzt? bzw. das unbewusst macht?


    an welcher Stelle genau ist Swift denn nun einfach zu lernen, wenn es einem gar nicht ermöglicht wird damit überhaupt zu arbeiten, wenn meine Werkzeuge dafür schon nicht funktionieren, bzw. nicht so funktionieren wie ich es erwarten würde, bzw. wenigtens so funktionieren, das ich verstehe was er von mir will?
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von nussratte ()

  • Evtl. solltest du die Fehlermeldung noch einmal lesen. Da steht du benutzt self bevor es durch den Aufruf von super.init initialisiert wurde. Wenn du eine Methode aufrufst steht implizit self davor wenn du es nicht hinschreibst.

    Ist halt so mit der 2 Phasen Initialisierung:
    1. Alle eigenen properties initialisieren
    2. super.init
    Danach kannst du mache was du willst.
    Das Herz besitzt Gründe, die die Vernunft nicht kennt.
  • pierredrks schrieb:

    Ist halt so mit der 2 Phasen Initialisierung:
    1. Alle eigenen properties initialisieren
    2. super.init
    Danach kannst du mache was du willst.
    Diese Zwei-Phasen-Initialisierung ist ja prinzipiell schon semantisch fragwürdig: Du musst zuerst Eigenschaften der Klasse initialisieren bevor du die Eigenschaften der Oberklasse initialisierst. Aus Sicht der Oberklasse(n) befindet sich das Objekt also noch nicht in einem konsistenten Zustand, wenn die Unterklasse es initialisiert. Damit kann der Zustand der Eigenschaften der Klasse nicht von denen der Oberklasse abhängen, wenn diese Eigenschaften unveränderlich sein sollen.

    Bei optionalen Initializern muss ich Eigenschaften initialisieren, auch wenn die Oberklasse entscheidet, kein Objekt zu erzeugen:

    Quellcode

    1. class A {
    2. let a: Int = 1
    3. init?(i: Int) {
    4. if i > 1 { return nil }
    5. print(i)
    6. }
    7. }
    8. class B: A {
    9. let b: Int
    10. override init?(i: Int) {
    11. self.b = i
    12. super.init(i: i)
    13. }
    14. }
    Alles anzeigen
    „Meine Komplikation hatte eine Komplikation.“
  • nussratte schrieb:

    durch rum probieren bin ich dann auf 2 mögliche Lösungen gekommen
    Ich bin ja auch der Meinung, das Swift einfach zu lernen sei, ist reines Apple Marketing-Blabla. Allerdings ist lernen durch Herumprobieren auch schwieriger, als lernen durch lesen von vorhandener Literatur.

    nussratte schrieb:

    aber die Fehlermeldung bezieht sich auf self
    Auf was sollte sich deiner Meinung nach die Fehlermeldung beziehen? 'self' ist nun mal die Instanz, in dessen Kontext du dich gerade befindest. Wie würdest du denn die Fehlermeldung für diesen Fall formulieren?
  • nussratte schrieb:


    an welcher Stelle genau ist Swift denn nun einfach zu lernen, wenn es einem gar nicht ermöglicht wird damit überhaupt zu arbeiten, wenn meine Werkzeuge dafür schon nicht funktionieren, bzw. nicht so funktionieren wie ich es erwarten würde, bzw. wenigtens so funktionieren, das ich verstehe was er von mir will?
    Das ist doch aber ein Problem, das Du nicht Swift vorwerfen kannst. Du schreibst ja selber, dass es nicht so funktioniert wie Du es erwartest und das liegt wohl an deinen Gewohnheiten. Ansonsten war eine der ersten Sachen, welche mir bei Swift beigebracht wurden: Inits sind zu vermeiden ;)
  • nussratte schrieb:

    korrekt, und das ist für einen Anfänger einfacher?

    Nein, das wahrscheinlich nicht. Besonders nicht für jemanden der vorher ein anderes Verhalten von Objective-C gewöhnt war. Einfachheit für Anfänger war hier allerdings auch nicht die treibende Kraft hinter diser Designentscheidung. Hier geht es um 'Sicherheit'. Es soll sichergestellt werden, daß _alle_ Properties des Objektes Initialisiert werden, inklusive auch der vTable, bevor das Objekt auch verwendet wird. Wenn man eine überschriebene Funktion im init aufruft, die ihrerseits auf Properties der Superklasse zugreifen will, bevor die Superklasse im init komplett initialisiert wurde, hat man ein Problem.

    Auf der WWDC, auf der Swift vorgestellt wurde, wurde das ausführlich mit Beispielen besprochen. Kann ich nur wärmstens empfehlen, sich das Video davon anzuschauen. Das erklärt es sehr gut. Wurde hier im Forum auch schon mal verlinkt.
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?