NSMutableArray-Problem

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

  • Thallius schrieb:

    Schon der nächste Denkfehler...
    Nein. genau richtig. Speicherverwaltung kennen und lernen, aber gleich mit ARC.
    Das widerspricht nicht dem, was Du meinst.
    Ansonsten könnten wir gleich mit Assembler. Nein Maschinensprache beginnen. (nicht bös gemeint) Nachtrag: Ich wollte damit zum Ausdruck bringen, dass ARC eine Neuerung ist, die vieles erleichtert. Insbesondere den Anfängern. Manchmal fühlen sich deswegen die Profis benachteiligt, weil Anfänger jetzt sich weniger Gedanken machen können und es trotzdem funktioniert. Also man sollte Neuerungen nicht verteufeln sondern diese nutzen und damit leben.

    ARC ist toll und hilft Tipparbeit zu ersparen. Aber das Nachdenken wird einem dabei nicht abgenommen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von margroth ()

  • Thallius schrieb:

    margroth schrieb:

    Speicherverwaltung (mit ARC).


    Schon der nächste Denkfehler...

    ARC ist zwar nett aber es nutzt Dir auch nichts wenn du nicht genauso gut Ohne ARC zurecht kommen würdest. Du nutzt dann nämlich einfach Compilerhilfe ohne zu wissen was sie macht. Damit wirst Du irgendwann auch böse auf die Nase fallen, wenn es z.B. mal ums Multi-Threadding oder ähnlich komplexe Themen geht.

    Gruß

    Claus

    Du hast wirklich IEEE-Docs und FPU-Architekturen durchgearbeitet, bevor du zwei Floats addiert hast?
    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"?
  • Amin Negm-Awad schrieb:

    Thallius schrieb:

    margroth schrieb:

    Speicherverwaltung (mit ARC).


    Schon der nächste Denkfehler...

    ARC ist zwar nett aber es nutzt Dir auch nichts wenn du nicht genauso gut Ohne ARC zurecht kommen würdest. Du nutzt dann nämlich einfach Compilerhilfe ohne zu wissen was sie macht. Damit wirst Du irgendwann auch böse auf die Nase fallen, wenn es z.B. mal ums Multi-Threadding oder ähnlich komplexe Themen geht.

    Gruß

    Claus

    Du hast wirklich IEEE-Docs und FPU-Architekturen durchgearbeitet, bevor du zwei Floats addiert hast?


    Als ich angefangen habe gab es noch gar keine floats…. und ja ich habe die ersten FPU's damals tatsächlich selber programmiert.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    Amin Negm-Awad schrieb:

    Thallius schrieb:

    margroth schrieb:

    Speicherverwaltung (mit ARC).


    Schon der nächste Denkfehler...

    ARC ist zwar nett aber es nutzt Dir auch nichts wenn du nicht genauso gut Ohne ARC zurecht kommen würdest. Du nutzt dann nämlich einfach Compilerhilfe ohne zu wissen was sie macht. Damit wirst Du irgendwann auch böse auf die Nase fallen, wenn es z.B. mal ums Multi-Threadding oder ähnlich komplexe Themen geht.

    Gruß

    Claus

    Du hast wirklich IEEE-Docs und FPU-Architekturen durchgearbeitet, bevor du zwei Floats addiert hast?


    Als ich angefangen habe gab es noch gar keine floats…. und ja ich habe die ersten FPU's damals tatsächlich selber programmiert.

    Gruß

    Claus

    Ich auch... Der IEEE 754 kam zwar schon 1985 raus ( 754r.ucbtest.org/standards/754.pdf ) aber wir hatten im Studium einen großen Kasten mit Schieberegistern usw. wo eine nicht-IEEE-Gleitkommaeinheit erst mal zusammengestöpselt und untersucht wurde. Und am Schluß konnte man dann ein paar Übungsrechnungen machen :)
    Aber wie ich schon vorhin schrub, gibt es viele tausende Einstiege zum "Mount Cocoa". Welcher der "Beste" ist muss m.E. jeder selbst herausfinden...
  • margroth schrieb:

    Ich wollte damit zum Ausdruck bringen, dass ARC eine Neuerung ist, die vieles erleichtert. Insbesondere den Anfängern. Manchmal fühlen sich deswegen die Profis benachteiligt, weil Anfänger jetzt sich weniger Gedanken machen können und es trotzdem funktioniert.


    Genau anders herum wird ein Schuh draus.
    Es macht es den Anfängern schwerer und es nervt die "Profis" weil es eben nicht klappt (siehe diesen Thread mal wieder).

    ARC ist ja kein Versuch einer automatische Speicherverwaltung wie z.B. Garbage Collection.

    Es automatisiert nur das Einfügen diverser Befehle bezüglich der Speichverwaltung um dem Programmierer Schreibarbeit abzunehmen.
    Verstehen muss er die Retain Count Geschichte aber dennoch.

    Da er aber eben aber mindestens Hälfte der Befehle zur Speicherverwaltung gar nicht mehr zu Gesicht bekommt und auch nicht die typischen Pattern wie so etwas auszusehen hat, sie dennoch aber verstanden haben sollte, halte ich den Einstieg eher für schwerer.
    Allein schon der Unterschied zwischen Setter früher und Setter heute verwirrt doch ungemein.
    Wie soll er da die Ownership verstehen?
    Oder warum man einen Setter braucht?

    Wüsste spontan auch nicht wie ARC erklären sollte ohne auf MRC und die Befehle welche der Compiler automatisch einbaut einzugehen.
  • Tobse001 schrieb:

    margroth schrieb:

    Ich wollte damit zum Ausdruck bringen, dass ARC eine Neuerung ist, die vieles erleichtert. Insbesondere den Anfängern. Manchmal fühlen sich deswegen die Profis benachteiligt, weil Anfänger jetzt sich weniger Gedanken machen können und es trotzdem funktioniert.


    Genau anders herum wird ein Schuh draus.
    Es macht es den Anfängern schwerer und es nervt die "Profis" weil es eben nicht klappt (siehe diesen Thread mal wieder).

    ARC ist ja kein Versuch einer automatische Speicherverwaltung wie z.B. Garbage Collection.

    Es automatisiert nur das Einfügen diverser Befehle bezüglich der Speichverwaltung um dem Programmierer Schreibarbeit abzunehmen.
    Verstehen muss er die Retain Count Geschichte aber dennoch.

    Da er aber eben aber mindestens Hälfte der Befehle zur Speicherverwaltung gar nicht mehr zu Gesicht bekommt und auch nicht die typischen Pattern wie so etwas auszusehen hat, sie dennoch aber verstanden haben sollte, halte ich den Einstieg eher für schwerer.
    Allein schon der Unterschied zwischen Setter früher und Setter heute verwirrt doch ungemein.
    Wie soll er da die Ownership verstehen?
    Oder warum man einen Setter braucht?

    Wüsste spontan auch nicht wie ARC erklären sollte ohne auf MRC und die Befehle welche der Compiler automatisch einbaut einzugehen.


    Danke, Du bringst auf den Punkt was ich sagen wollte.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    Wüsste spontan auch nicht wie ARC erklären sollte ohne auf MRC und die Befehle welche der Compiler automatisch einbaut einzugehen.


    Danke, Du bringst auf den Punkt was ich sagen wollte.
    Mann. Nicht immer alles zereden und Recht haben wollen.
    Ich weiß nicht, wie oft ich es noch sagen soll. Ich schreibs aber gern nochmal:
    Speicherverwaltung kennen und lernen, aber gleich mit ARC.
    Das widerspricht nicht dem, was Du/ihr meint.
    Wüsste spontan auch nicht wie ARC erklären sollte ohne auf MRC und die Befehle welche der Compiler automatisch einbaut einzugehen.
    Ja. Genau. Es muß vollständig erklärt und verstanden werden. Aber trotzdem bitte beim programmieren ARC auf ON. Und nicht, OFF, weil wir das ja alle lieber manuell machen wollen... die Kontrolle behalten wollen... nur Anfänger ARC auf On haben... usw.


    Tobse001 gebe ich insofern Recht, dass die Einstiegshürden (oberflächlich betrachtet) sinken und hier dann im Forum immer die gleichen Probleme auftauchen. Aber ich schrieb auch
    ARC ist toll und hilft Tipparbeit zu ersparen. Aber das Nachdenken wird einem dabei nicht abgenommen.
    Einfach mal so hinnehmen, was da steht. Es hilft Tipparbeit zu ersparen. Ich gehe also davon aus, dass wenn ARC Off ist, man es tippen würde... Der nächste Satz sagt dann ja wohl auch alles.
  • gritsch schrieb:

    LarsKrachen schrieb:

    Woher soll ich lernen, wenn mir keiner sagt wo meine Fehler liegen? Speicherverwaltung hilft mir jetzt echt richtig weiter! Natürlich weiß ich das da das Problem liegt!


    steigst du auch in ein auto, baust einen unfall mit 3 toten und beschuldigst dann die anderen dass sie dir das autofahren nicht beigebracht haben bzw dass du doch nicht zuerst den führerschein machen willst sondern einfach drauflosfahren...
    vergleich den führerschein mit grundlegendem wissen welches dir jedes buch vermitteln sollte ;)


    <gefällt mir> klick
    Ich bin gegen Signaturen!!!
  • Tobse001 schrieb:

    margroth schrieb:

    Ich wollte damit zum Ausdruck bringen, dass ARC eine Neuerung ist, die vieles erleichtert. Insbesondere den Anfängern. Manchmal fühlen sich deswegen die Profis benachteiligt, weil Anfänger jetzt sich weniger Gedanken machen können und es trotzdem funktioniert.


    Genau anders herum wird ein Schuh draus.
    Es macht es den Anfängern schwerer und es nervt die "Profis" weil es eben nicht klappt (siehe diesen Thread mal wieder).

    ARC ist ja kein Versuch einer automatische Speicherverwaltung wie z.B. Garbage Collection.

    Es automatisiert nur das Einfügen diverser Befehle bezüglich der Speichverwaltung um dem Programmierer Schreibarbeit abzunehmen.
    Verstehen muss er die Retain Count Geschichte aber dennoch.

    Da er aber eben aber mindestens Hälfte der Befehle zur Speicherverwaltung gar nicht mehr zu Gesicht bekommt und auch nicht die typischen Pattern wie so etwas auszusehen hat, sie dennoch aber verstanden haben sollte, halte ich den Einstieg eher für schwerer.
    Allein schon der Unterschied zwischen Setter früher und Setter heute verwirrt doch ungemein.
    Wie soll er da die Ownership verstehen?
    Oder warum man einen Setter braucht?

    Wüsste spontan auch nicht wie ARC erklären sollte ohne auf MRC und die Befehle welche der Compiler automatisch einbaut einzugehen.


    Also ich komme ja aus der ANSI-C-Schiene und habe das viele Jahre gemacht, auch große komplexe Anwendungen. Dann habe ich einige Jahre gar nicht programmiert.
    Beim (Neu)Einstieg in Objective-C könnte ich mich noch teilweise an einige Dinge erinnern und diese Abbilden. Trotzdem muss ich sagen, dass ich jetzt ausschließlich mit ARC arbeite und damit noch keine größeren Probleme hatte. Ich tu mich eher mit der Syntax noch ein wenig schwer, aber das klappt mittlerweile auch ganz gut.

    Ihr habt mir in der Anfangszeit hier im Forum sehr geholfen mit Tipps (und tut es jetzt noch). Ich sehe mich durch meine Programmiererfahrung allerdings im Vorteil und mir reicht manchmal ein Wink mit dem Zaunspfahl, um dahinter zu kommen.
    Neueinsteigern fällt das aber nicht so leicht. Lasst sie nicht hängen mit einem einfachen "SPEICHERVERWALTUNG". Ich weiss selbst, dass man das nicht in 3 Sätzen erklären kann, aber zumindest die Ansätze oder eine Buchempfehlung oder so.

    LG
    Bernd
    Ich bin gegen Signaturen!!!
  • Thallius schrieb:

    Amin Negm-Awad schrieb:

    Thallius schrieb:

    margroth schrieb:

    Speicherverwaltung (mit ARC).


    Schon der nächste Denkfehler...

    ARC ist zwar nett aber es nutzt Dir auch nichts wenn du nicht genauso gut Ohne ARC zurecht kommen würdest. Du nutzt dann nämlich einfach Compilerhilfe ohne zu wissen was sie macht. Damit wirst Du irgendwann auch böse auf die Nase fallen, wenn es z.B. mal ums Multi-Threadding oder ähnlich komplexe Themen geht.

    Gruß

    Claus

    Du hast wirklich IEEE-Docs und FPU-Architekturen durchgearbeitet, bevor du zwei Floats addiert hast?


    Als ich angefangen habe gab es noch gar keine floats…. und ja ich habe die ersten FPU's damals tatsächlich selber programmiert.

    Gruß

    Claus

    Floats gab es schon, bevor du geboren wurdest.

    Und du hast nicht FPU's programmiert, sondern auf FPU's programmiert. Das war aber ohnehin nicht meine Frage.
    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"?
  • Tobse001 schrieb:

    margroth schrieb:

    Ich wollte damit zum Ausdruck bringen, dass ARC eine Neuerung ist, die vieles erleichtert. Insbesondere den Anfängern. Manchmal fühlen sich deswegen die Profis benachteiligt, weil Anfänger jetzt sich weniger Gedanken machen können und es trotzdem funktioniert.


    Genau anders herum wird ein Schuh draus.
    Es macht es den Anfängern schwerer und es nervt die "Profis" weil es eben nicht klappt (siehe diesen Thread mal wieder).

    ARC ist ja kein Versuch einer automatische Speicherverwaltung wie z.B. Garbage Collection.

    Es automatisiert nur das Einfügen diverser Befehle bezüglich der Speichverwaltung um dem Programmierer Schreibarbeit abzunehmen.
    Verstehen muss er die Retain Count Geschichte aber dennoch.

    Da er aber eben aber mindestens Hälfte der Befehle zur Speicherverwaltung gar nicht mehr zu Gesicht bekommt und auch nicht die typischen Pattern wie so etwas auszusehen hat, sie dennoch aber verstanden haben sollte, halte ich den Einstieg eher für schwerer.
    Allein schon der Unterschied zwischen Setter früher und Setter heute verwirrt doch ungemein.
    Wie soll er da die Ownership verstehen?
    Oder warum man einen Setter braucht?

    Wüsste spontan auch nicht wie ARC erklären sollte ohne auf MRC und die Befehle welche der Compiler automatisch einbaut einzugehen.

    Mit dem Begriff Eigentümerschaft. Mit MRC hat das nichts zu tun. Es hat auch nichts mit Befehlen zu tun.

    Übrigens werden üblicherweise keine entsprechenden Nachrichten erzeugt. Man darf also gar nicht darauf eingehen.
    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"?
  • Amin Negm-Awad schrieb:

    Tobse001 schrieb:

    margroth schrieb:

    Ich wollte damit zum Ausdruck bringen, dass ARC eine Neuerung ist, die vieles erleichtert. Insbesondere den Anfängern. Manchmal fühlen sich deswegen die Profis benachteiligt, weil Anfänger jetzt sich weniger Gedanken machen können und es trotzdem funktioniert.


    Genau anders herum wird ein Schuh draus.
    Es macht es den Anfängern schwerer und es nervt die "Profis" weil es eben nicht klappt (siehe diesen Thread mal wieder).

    ARC ist ja kein Versuch einer automatische Speicherverwaltung wie z.B. Garbage Collection.

    Es automatisiert nur das Einfügen diverser Befehle bezüglich der Speichverwaltung um dem Programmierer Schreibarbeit abzunehmen.
    Verstehen muss er die Retain Count Geschichte aber dennoch.

    Da er aber eben aber mindestens Hälfte der Befehle zur Speicherverwaltung gar nicht mehr zu Gesicht bekommt und auch nicht die typischen Pattern wie so etwas auszusehen hat, sie dennoch aber verstanden haben sollte, halte ich den Einstieg eher für schwerer.
    Allein schon der Unterschied zwischen Setter früher und Setter heute verwirrt doch ungemein.
    Wie soll er da die Ownership verstehen?
    Oder warum man einen Setter braucht?

    Wüsste spontan auch nicht wie ARC erklären sollte ohne auf MRC und die Befehle welche der Compiler automatisch einbaut einzugehen.

    Mit dem Begriff Eigentümerschaft. Mit MRC hat das nichts zu tun. Es hat auch nichts mit Befehlen zu tun.

    Übrigens werden üblicherweise keine entsprechenden Nachrichten erzeugt. Man darf also gar nicht darauf eingehen.


    ... und jetzt ist die Verwirrung perfekt! Fein gemacht hast es ;)
    Ich bin gegen Signaturen!!!