struct in NSMutableArray
- 
			
- 
			Original von gritsch
 
 
 ne, das hejt so nicht - initValues istja in B implementiert!
 
 ja du musst sowas wie a = new A; machen!
 
 in obj-c eben a = [[A alloc] init];
 
 Ach falsch gelesen, stimmt natürlich vor lauter A B ...  
- 
			aber initValues ist eine fkt von B und nicht von A muss sie auch in A angelegt? aber die werte möchte ich gern in B erstellen..?
 
 (ich habe ein komisches gefühl bei diesen lächerlichen fragen..)
- 
			Original von maya
 aber initValues ist eine fkt von B und nicht von A muss sie auch in A angelegt? aber die werte möchte ich gern in B erstellen..?
 
 (ich habe ein komisches gefühl bei diesen lächerlichen fragen..)
 
 wie ichs gesagt habe musst du das a (klein) in deiner instanz von B erst zuweisen bevor du die setter aufrufen kannst!
 
 übrigens ist initValues keien funktion sondenr eine methode  
- 
			Original von gritsch
 Original von maya
 aber initValues ist eine fkt von B und nicht von A muss sie auch in A angelegt? aber die werte möchte ich gern in B erstellen..?
 
 (ich habe ein komisches gefühl bei diesen lächerlichen fragen..)
 
 wie ichs gesagt habe musst du das a (klein) in deiner instanz von B erst zuweisen bevor du die setter aufrufen kannst!
 
 übrigens ist initValues keien funktion sondenr eine methode  
 
 ich kriege diese fehlermeldung
 
 [Session started at 2010-03-05 19:00:02 +0100.]
 objc[578]: FREED(id): message setSt: sent to freed object=0x380d890
 
 der aufruf ist wie
 
 
- 
			Original von maya
 Original von gritsch
 Original von maya
 aber initValues ist eine fkt von B und nicht von A muss sie auch in A angelegt? aber die werte möchte ich gern in B erstellen..?
 
 (ich habe ein komisches gefühl bei diesen lächerlichen fragen..)
 
 wie ichs gesagt habe musst du das a (klein) in deiner instanz von B erst zuweisen bevor du die setter aufrufen kannst!
 
 übrigens ist initValues keien funktion sondenr eine methode  
 
 ich kriege diese fehlermeldung
 
 [Session started at 2010-03-05 19:00:02 +0100.]
 objc[578]: FREED(id): message setSt: sent to freed object=0x380d890
 
 der aufruf ist wie
 
 
 
 Du darfst ein Objekt erst releasen wenn Du es nicht mehr brauchst
- 
			
 Du darfst ein Objekt erst releasen wenn Du es nicht mehr brauchst
 
 so dumm kann man natürlcih auch sein. Hast du ja vollkommen recht.
 
 vielen dank nochmals und die welt ist wieder in ordnung
- 
			Original von maya
 
 Du darfst ein Objekt erst releasen wenn Du es nicht mehr brauchst
 
 so dumm kann man natürlcih auch sein. Hast du ja vollkommen recht.
 
 vielen dank nochmals und die welt ist wieder in ordnung
 
 aber actung, wenn du mehrmals das initValues aufrufst wird auch a neu erzeugt (und das alte wird zum memory-leak)
- 
			Mal abgesehen von den kurzen und verwirrenden Bezeichnern:
 
 Wieso hast du in B keinen Setter für a?
 
 Alles anzeigenQuellcode
 
 Wenn du jetzt mehrmals initValues aufrufst, dann wird erst einmal der Setter aufgerufen.
 Der gibt zunächst das alte Objekt frei und initialisiert sich dann ein Neues (in diesem Fall mittels einer Kopie des übergebenen Parameters).
 Schon haste da keine Speicherprobleme mehr.
 
 Vor Objective-C2 sahen Getter und Setter im Allgemeinen so aus:
 Alles anzeigenQuellcode
 
 Statt copy geht natürlich auch retain, doch das Laufzeitverhalten unterscheidet sich.«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
 
- 
			Ich weiß nicht, ob es für alle Beteiligten jetzt so sinnvoll ist, Zeile für Zeile, Fehler für Fehler durchzugehen. Es gibt Einführungsliteratur.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"?
- 
			oder einfach ein NSDictionary nehmen für solche Angelegenheiten....
 
 ähhm NSMutableDictionary meinte ich :tongue:
- 
			Original von Amin Negm-Awad
 Ich weiß nicht, ob es für alle Beteiligten jetzt so sinnvoll ist, Zeile für Zeile, Fehler für Fehler durchzugehen. Es gibt Einführungsliteratur.
 Sischer gibbet dat. Aber die Dame scheint bemüht und besitzt augenscheinlich erweiterte Kenntnisse in der Programmierung.
 Ich bin zuversichtlich, dass nach Weitergabe einiger Tipps zur Erleichterung des Umstiegs in naher Zukunft Fragen auftauchen werden, die wirklich interessant und keine Grundlagenprobleme sind.
 Dann wäre es natürlich schön, die Anfängerfehler wären weg und man verstünde den Code bereits beim Lesen, zum Beispiel weil die Bezeichner aussagekräftig sind.
 
 Ich habe die Damen der Schöpfung jedenfalls bisher so erlebt, dass sie nur dann fragen, wenn sie wirklich nicht mehr weiter wissen. Wenn sie fragen, dann sofort irgend welche menschlichen Wesen, keine blöden Computersysteme.
 
 wrongspot: Dictionary? Hatte gritsch auch schon vorgeschlagen. Das ist nun wirklich der simpelste und effektivste Weg, etwas in der Art eines Structs abzubilden. Aber es ist halt kein Struct. 
 
 salwa/maya:
 (zwei Personen?)
 Wer mit Structs hantiert hat C-Kenntnisse. Wer C-Kenntnisse hat, kann sicherlich aus dem Tutorial Speicherverwaltung zu Fuß einen Nutzen ziehen. Damit sollten Probleme mit der Speicherverwaltung eigentlich der Vergangenheit angehören. «Applejack» "Don't you use your fancy mathematics to muddle the issue!" «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
 
- 
			Ich bin mir ziemlich sicher, dass sie in mehr als einem Tag Lesen von Tutorials mehr gelernt hätte.
 
 Ich bin mir aber auch ziemlich sicher, dass sie in diesem Thread überhaupt nichts verallgemeinerungsfähiges gelernt hat. Sie hat die Speicherverwaltung nicht im Griff. Dazu gibt es nun nach 2 Tagen einen Link. Für mich sind das zwei verlorene Tage.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"?
- 
			Du mit deiner negativen Grundeinstellung... «Applejack» "Don't you use your fancy mathematics to muddle the issue!" «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
 
- 
			Original von Lucas de Vil
 Du mit deiner negativen Grundeinstellung...  
 Ich finde es ja optimistisch, einen Lernerfolg zu erwarten.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"?
- 
			Hallo,
 ich weiss dass manche langsam genug von mir haben.. aber an manchen stellen, komme ich einfach nicht weiter, und muss jemand fragen.... bitte ich brauche wieder eure helfe.
 
 ich habe klasse statt struct gemacht.. classObj in NSMutableArray gespeichert.. super, aber leider kann man dieses NSMutableArray nicht in NSUserDefaults speichern, der grund war die kompination mit classObj akzeptiert NSUserDefaults nicht.
 dann habe ich versucht aus dem classObj ein NSData zu machen und in NSMutableArray, das ging, aber wieder classObj aus dem NSData war nicht so einfach und ging nicht...
 
 jetzt habe ich die einträge in classObj hinter einander in NSMutableArray gespeichert und dies in NSUserDefaults das geht theoretisch aber nach weile habe ich die NSMutableArray-Indizis durch einander gebracht...
 
 nun meine Frage ich möchte so etwas haben (ich weiss das geht so nicht ) kann man das umgehen:
 
 
 ich habe echt viel nach geschlagen, bevor ich meine frage gestellt habe.
 
 vielen Dankjava->ObjC
- 
			a) So kannst du das nicht eingegeben haben, weil das bereits in Zeile 2 eine Warning auslöst.
 
 b) Was funktioniert nicht? Funktioniert nicht heißt, dass du eine Erwartung hast und etwas anderes passiert.
 
 c) NSUserDefaults sollte eigentlich nur Immutables liefern.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"?
- 
			Original von Amin Negm-Awad
 a) So kannst du das nicht eingegeben haben, weil das bereits in Zeile 2 eine Warning auslöst.
 
 b) Was funktioniert nicht? Funktioniert nicht heißt, dass du eine Erwartung hast und etwas anderes passiert.
 
 c) NSUserDefaults sollte eigentlich nur Immutables liefern.
 
 danke für die Antwort.
 
 a) nein, ich habe es einfach jetzt von hand angegeben und es doch zu verkürzen.
 b) fktioniert nicht ist keine beschreibung aber es ist viel zu viel um es zu beschreiben
 c) das ist ok so, aber was ich meine kann man NSUserDefaults überreden, damit es doch classObj speichert? z.B in NSData "capseln" aber es ist sooooo kompliziert.java->ObjC
- 
			Prinzipiell ist dein Ansatz schon richtig.
 Nur die Durchführung ist völlig verkehrt.
 
 a) Welche UserDefaults hättest du denn gern?
 (Schau mal in die Doku, gibt nicht viele, aber du musst sie angeben.)
 b) Was willst du als Parameter sichern?
 (NSMutableArray sicherlich nicht.)
 c) Wieso willst du ein Array deiner eigenen Objekte da reinwerfen?
 d) Welche anderen Möglichkeiten zum Sichern von Daten kennst du?
 
 Generell: 'Sinngemäß abgetippt und gekürzt' ist nicht 'das ist mein Code'.
 Alles, was nicht 'das ist mein Code' ist, ist es auch nicht wert überprüft zu werden. Schließlich weiß man nie, ob da nicht Fehler eingeflossen sind, die eigentlich gar nicht existieren.«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
 
- 
			Original von Lucas de Vil
 Prinzipiell ist dein Ansatz schon richtig.
 Nur die Durchführung ist völlig verkehrt.
 
 a) Welche UserDefaults hättest du denn gern?
 (Schau mal in die Doku, gibt nicht viele, aber du musst sie angeben.)
 b) Was willst du als Parameter sichern?
 (NSMutableArray sicherlich nicht.)
 c) Wieso willst du ein Array deiner eigenen Objekte da reinwerfen?
 d) Welche anderen Möglichkeiten zum Sichern von Daten kennst du?
 
 Generell: 'Sinngemäß abgetippt und gekürzt' ist nicht 'das ist mein Code'.
 Alles, was nicht 'das ist mein Code' ist, ist es auch nicht wert überprüft zu werden. Schließlich weiß man nie, ob da nicht Fehler eingeflossen sind, die eigentlich gar nicht existieren.
 
 danke für die Anwort
 a) ach so, so etwas habe ich nicht gesehen, ich dachte NSUserDefaults ist immer gleich..??!!
 ich schaue nach..
 b)jaaaah doch . mein ziel ist: daten verschiedener Typen persistent zu speichern. z.B
 person{
 name, alter, adresse, datum
 }
 bis zu 1000 personen persistent speichern, so dass man die adresse oder datum von bestimmten Personen jeder zeit ändern kann. Und ganze am besten in einer Liste.
 c) ich habe die dieses Array aus dieser personen erstellt, aber nicht persistent und dafür war die NSUserDefaults gedacht.
 d) nicht viel, da ich aus anderem Programmierbereich komme. aber SQLite3 und NSUserDefaults aber nur kennen und nicht beherrschen. DB in java (mysql, sql,...schon alles gemacht) aber noch kein ObjC.
 
 >> sorry, ich habe eigentlich nicht damit gerechnet, dass jemand überhaupt antwortet
 
 :sick:java->ObjC