wie vernichte ich ein int im dealloc?'

  • wie vernichte ich ein int im dealloc?'

    habe gerade gelernt, dass zu jedem Property auch im dealloc ein Gegenstück gehört.

    Bei NSString zum Beispiel self.stringname=NULL;

    beim int will er das aber nicht machen.
    da sagt er xcode incompatible pointer to integer conversion assigning to int from void

    also wie mache ich es beim int?

    Nachtrag: Das int ist in einem NSObjekt.
    Dient nur zur Datenaufname eines PrimaryKey aus SQLLite
  • Keine Ahnung womit du gerade lernst aber du solltest zuerst einmal lernen was variablen und was pointer sind. Also die grundlagen von c. Danach kannst du mit sowas wie properties u. Dich werfe:)

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • @dronedeveloper: den Craplink hast Du jetzt fabriziert.
    Ist Crapware schon geschützt? Sonst übernehme ich den gleich. Könnte ja ein Markenzeichen werden. CrapApp hört sich auch gut an. Für Apple kein Problem.


    Apropos: Hier habe ich auch schon geguckt. Steht aber nichts für die Nutzung für int bei properties.

    Ist ja alles gut und schön, aber man hätte auch eine kurze knappe korrekte Antwort geben können.
  • Zur Frage: Bei int-Properties musst Du im dealloc nichts tun, weil sie keinen separaten Speicher belegen. Sie liegen quasi direkt im Objekt und werden so am Ende der dealloc-Kette automatisch weggeräumt.

    Was ich eigentlich sagen wollte: Mannomann, eine einfache Frage und zwei Leute, die sich aufplustern. Mit der Zeit und Energie, die Ihr darauf verwendet habt, dem OP zu erzählen, wie doof er sei, hättet Ihr die Frage dreimal beantworten können. Bringt Euch das irgendwas fürs Ego? Wenn Ihr nichts Konstruktives sagen wollt, dann sagt doch einfach gar nichts. Ich persönlich finde solche Pöbeleien wesentlich nerviger als Anfängerfragen. Die hattet Ihr irgendwann auch mal.
    Multigrad - 360°-Produktfotografie für den Mac
  • mattik schrieb:

    Zur Frage: Bei int-Properties musst Du im dealloc nichts tun, weil sie keinen separaten Speicher belegen. Sie liegen quasi direkt im Objekt und werden so am Ende der dealloc-Kette automatisch weggeräumt.


    Hi Mattik,

    das ist ja schön und gut aber glaubst du das er das jetzt versteht ? Da hättest auch gleich einfach schreiben können "Int's bekommen kein dealloc". Verstanden hätte es der TO doch nicht da er immer noch nicht weiß was variablen und was Pointer sind und wie sich diese im Speicher verhalten. Also nutzt ihm diese Aussage nichts da er daraus nicht lernen kann.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Ganz am Anfang hatte Thallus übrigens ja indirekt darauf hingewiesen. Ich habs ja sofort verstanden, nur ich hab nirgendwo gefunden, was mit einer Variable passieren soll.
    Hab ja auch gleich geantwortet.

    @Drohnedeveloper: ?? In der Doku von apple habe ich nichts bei gefunden und das dealloc was mit Speicherverwaltung zu tun hat, kann ja keiner abstreiten.
    Die Doku von apple ist einfach nicht übersichtlich, bzw. kann ich mich in deren Strukturen nicht reindenken.
    Aber wenn Du helfen möchtest, dann sag mir doch einfach mal, an welcher Stelle in der Dokumentation genau das steht, was ich wissen will.

    Nur ein Beispiel:
    Ich suche nach Data Types Reference dann wähle ich Getting Started with Data Management, dann Basic Values->Number and Value Programming Topics, dann Using Numbers


    Jede Menge Inhalt, aber kein Hinweis darauf, wie damit umzugehen ist.

    Generell finde ich die Doku schwach. Allein um den Bereich/Range eines Integers zu finden such ich mir einen Wolf.


    @mattik: ich hatte schon mehrmals solche Diskussionen. Komme damit klar. Ärgere mich nur manchmal, weil es tatsächlich so ist. Einfach Zeitverschwendung. Auf beiden Seiten.
    @Ap3x: ebenfalls danke.

    Aber nochmal: Wo steht das in der Doku?
  • Thallius schrieb:

    das ist ja schön und gut aber glaubst du das er das jetzt versteht ? Da hättest auch gleich einfach schreiben können "Int's bekommen kein dealloc". Verstanden hätte es der TO doch nicht da er immer noch nicht weiß was variablen und was Pointer sind und wie sich diese im Speicher verhalten. Also nutzt ihm diese Aussage nichts da er daraus nicht lernen kann.

    Gruß

    Claus
    Ich habe Dir gleich darauf folgendes geantwortet. Guck ruhig noch mal nach oben.
    Beim NSString wird der Zeiger auf Null gesetzt. Geht beim Integer natürlich nicht, weil da direkt die Zahl drin steht.

    Was soll ich noch mehr verstehen? Ich kann recht gut programmieren. Nur leider in PHP und dort kümmert man sich nicht so sehr um die Freigabe von Variablen, da das Programm und der gesamte verbrauchte Speicher nach dem Beenden direkt mit allem freigegeben wird. Aber dennoch weiß ich natürlich, was ein Zeiger auf ein Objekt und eine direkt im Speicher befindliche Variable ist. Du hast mich mit deiner ersten Aussage daran erinnert. Also was hätte ich noch zusätzlich lernen können?
    Doch nur, wie man einen Integer (und allen anderen Datentypen, die sich direkt an der Stelle im Speicher befinden) im dealloc behandelt. Und das war meine Frage.
  • Geil.

    ist ja wirklich lustig. Da lese ich Thallus letzte Bemerkung.
    "Int's bekommen kein dealloc".
    Und mir fällst wie Schuppen von den Augen. Dealloc!!!
    jo. weil NSString ein Objekt ist und entsprechend ein dealloc benötigt!!!!!

    lol. sorry. @Thallus. Genau diese kurze Aussage hätte mir geholfen.


    dealloc war für mich das allgemeine verwerfen von jeglichen verwendeten Speicher
  • Thallius schrieb:

    das ist ja schön und gut aber glaubst du das er das jetzt versteht ? Da hättest auch gleich einfach schreiben können "Int's bekommen kein dealloc". Verstanden hätte es der TO doch nicht da er immer noch nicht weiß was variablen und was Pointer sind und wie sich diese im Speicher verhalten. Also nutzt ihm diese Aussage nichts da er daraus nicht lernen kann.


    Ich bin mir sicher, dass er den ersten Teil versteht. Das ist die handlungsbefähigende Antwort. Alles ab "weil" ist Begründung und vielleicht ein Einstieg in Verständnis und ein Hinweis für die weitere Recherche. Bevor ich es anders weiß, gehe ich davon aus, dass Leute mit einer Frage, auch eine elementaren, nicht notwendigerweise zu blöd sind, etwas zu verstehen.

    "Int's bekommen kein dealloc" ist zwar richtig, hat aber m.E. kaum etwas mit der Frage zu tun.
    Multigrad - 360°-Produktfotografie für den Mac
  • mattik schrieb:

    Thallius schrieb:

    das ist ja schön und gut aber glaubst du das er das jetzt versteht ? Da hättest auch gleich einfach schreiben können "Int's bekommen kein dealloc". Verstanden hätte es der TO doch nicht da er immer noch nicht weiß was variablen und was Pointer sind und wie sich diese im Speicher verhalten. Also nutzt ihm diese Aussage nichts da er daraus nicht lernen kann.

    […]
    "Int's bekommen kein dealloc" ist zwar richtig, hat aber m.E. kaum etwas mit der Frage zu tun.

    Das dachte ich auch. Na, ja, vielleicht sehr mittelbar (mit einem Umweg quer durch das gesamte Reference-Counting).
    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"?
  • mattik schrieb:



    Ich bin mir sicher, dass er den ersten Teil versteht. Das ist die handlungsbefähigende Antwort. Alles ab "weil" ist Begründung und vielleicht ein Einstieg in Verständnis und ein Hinweis für die weitere Recherche. Bevor ich es anders weiß, gehe ich davon aus, dass Leute mit einer Frage, auch eine elementaren, nicht notwendigerweise zu blöd sind, etwas zu verstehen.

    "Int's bekommen kein dealloc" ist zwar richtig, hat aber m.E. kaum etwas mit der Frage zu tun.


    Ok, ich habe die handlungsfähige Antwort bewußt weggelassen um die Recherche anzuregen. Und mit dem Hinweiß "Variable und Pointer" habe ich eigentlich genau den Hinweiß gegeben nachdem er suchen kann um zu verstehen was der Unterschied zwischen int und NSString ist. Ist jetzt halt die Frage welche Lehrmehtode pädagogisch erfolgreicher: Das vorkauen und hoffen der Schüler vertieft das ganze oder das indirekte Hinweißgheben das den Schüler dazu verpflichtet selber aktiv zu werden.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

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

    Jede Menge Inhalt, aber kein Hinweis darauf, wie damit umzugehen ist.

    Generell finde ich die Doku schwach. Allein um den Bereich/Range eines Integers zu finden such ich mir einen Wolf.


    Im Numbers Programming Guide geht es ja auch primär um NSNumbers, nicht um eventuell darunter liegende ints. Apples Doku ist grundsätzlich ziemlich gut. Aber sie behandelt nur Objective-C, nicht das darunter liegende C. Das war es, was Thallius am Anfang meinte: Das steht woanders und wird vorausgesetzt. Für den Einstieg in Obj-C hat Dir PHP einen Bärendienst erwiesen.
    Multigrad - 360°-Produktfotografie für den Mac
  • Thallius schrieb:

    Ok, ich habe die handlungsfähige Antwort bewußt weggelassen um die Recherche anzuregen. Und mit dem Hinweiß "Variable und Pointer" habe ich eigentlich genau den Hinweiß gegeben nachdem er suchen kann um zu verstehen was der Unterschied zwischen int und NSString ist. Ist jetzt halt die Frage welche Lehrmehtode pädagogisch erfolgreicher: Das vorkauen und hoffen der Schüler vertieft das ganze oder das indirekte Hinweißgheben das den Schüler dazu verpflichtet selber aktiv zu werden.


    Aber ich dachte immer, das hier sei ein Forum: Jemand stellt eine Frage und wer eine Meinung dazu hat und möchte, schreibt eine Antwort. Ich bin kein Pädagoge (und versuche eher, lehrerhafte Marotten zu vermeiden), aber ich glaube, dass solche Antworten leicht arrogant und frustrierend wirken können. Wenn ich keine Lust habe, jemandem bei einer Frage zu helfen, z.B. weil ich den Eindruck habe, dass der Poster es sich zu einfach macht oder ich ihn nicht mag, schreibe ich halt keine hin. Den Eindruck hatte ich bei zweimenschen allerdings bislang nicht. Ich hatte den Eindruck, dass das jemand ist, der von irgendwo aus der Skriptsprachenwelt kommt und daher Einstiegsprobleme in die unteren Ebenen der nativen Programmierung hat. Ansonsten klang für mich alles freundlich und lerninteressiert.
    Multigrad - 360°-Produktfotografie für den Mac