#007: Speicher, Zeiger und Objekte
(25:20 Minuten)
Nachdem wir erstmal unsere Aufgabe aus der letzten Folge auflösen geben wir dieses Mal so richtig Gas. Das wahre Programmiererleben fängt mit dieser Folge an. Und das wahre Programmiererleben ist erstmal ein Haufen Theorie, damit ihr in Zukunft eigene Objekte erstellen könnt. Und das A und O, wenn man mit Objekten hantieren möchte, ist die Speicherverwaltung. Ingo hält dazu wieder eine Lehrstunde ab und Peter staunt ;)
Wenn ihr euch im Anschluss mit noch mehr Theorie auf die kommende Folge vorbereiten wollt, dann könnt ihr auch schon unsere beiden Grundlagenartikel Objekte erstellen und Retain, Release und Autorelease lesen!
Kommentar hinzufügen
13. Benedikt Vogler am 4. Apr 2010, 14:57 Uhr
Warum kommt bei mir bei jeder Division 2,122726921165564e-314 raus?
Das ist seit der Umänderung mit [result setStringValue:@"#DIV/0!"]; und double so.
Hab den Code genauso wie im Video:
#import "HelloCalcController.h"
@implementation HelloCalcController
- (IBAction)pushButton:(NSButton *)sender {
//Art der Variable wird geregelt
double v1;
double v2;
double r;
//Variablen werden zugewiesen
v1 = [value1 doubleValue];
v2 = [value2 doubleValue];
switch ([sender tag]) {
case 1:
r = v1+v2;
break;
case 2:
r = v1-v2;
break;
case 3:
r = v1*v2;
break;
case 4:
if (v2==0) {
[result setStringValue:@"#DIV/0!"];
return;
} else {
r = v1/v2;
}
break;
}
[result setDoubleValue:r];
}
@end
Warum kommt bei mir bei jeder Division 2,122726921165564e-314 raus?
Das ist seit der Umänderung mit [result setStringValue:@"#DIV/0!"]; und double so.
Hab den Code genauso wie im Video:
#import "HelloCalcController.h"
@implementation HelloCalcController
- (IBAction)pushButton:(NSButton *)sender {
//Art der Variable wird geregelt
double v1;
double v2;
double r;
//Variablen werden zugewiesen
v1 = [value1 doubleValue];
v2 = [value2 doubleValue];
switch ([sender tag]) {
case 1:
r = v1+v2;
break;
case 2:
r = v1-v2;
break;
case 3:
r = v1*v2;
break;
case 4:
if (v2==0) {
[result setStringValue:@"#DIV/0!"];
return;
} else {
r = v1/v2;
}
break;
}
[result setDoubleValue:r];
}
@end
12. ingo am 19. Sep 2009, 14:41 Uhr
@.8bui:
Erstmal vielen Dank fürs Lob!
Ja, es gibt so einige Sachen, die wir noch nicht 100% korrekt erklären. Das steckt aber auch Absicht hinter. Wir werden nach und nach so Dinge wie "Deklarieren", "Definieren", NULL, Zeiger und Operatoren genauer umfassen.
Dies gechieht entweder im Podcast, oder in den Begleitartikeln - oder beidem. Im Bereich "Grundlagen" findet man schon etwas Material zur Speicherverwaltung und Operatoren.
Uns war es bisher wichtiger, dass man erstmal grob die Konzepte versteht. Unsere Ausführungen und die Wahl der Fachsprache wird aber immer präziser werden, damit werdne wir dann auch Deinem Wunsch gerecht ;)
@.8bui:
Erstmal vielen Dank fürs Lob!
Ja, es gibt so einige Sachen, die wir noch nicht 100% korrekt erklären. Das steckt aber auch Absicht hinter. Wir werden nach und nach so Dinge wie "Deklarieren", "Definieren", NULL, Zeiger und Operatoren genauer umfassen.
Dies gechieht entweder im Podcast, oder in den Begleitartikeln - oder beidem. Im Bereich "Grundlagen" findet man schon etwas Material zur Speicherverwaltung und Operatoren.
Uns war es bisher wichtiger, dass man erstmal grob die Konzepte versteht. Unsere Ausführungen und die Wahl der Fachsprache wird aber immer präziser werden, damit werdne wir dann auch Deinem Wunsch gerecht ;)
11. .8bui am 18. Sep 2009, 03:26 Uhr
Hallo,
ich hab vor geraumer Zeit euer Podcast bei iTunes gefunden und hab diesen auch gleich Abonniert. Heute Nacht habe ich angefangen sie mir förmlich "einzusaugen". Nun bin ich bei der Folge #007 angelangt und fühle mich gezwungen mich bemerkbar zu machen.
Meine Kritikpunkte:
-Ich finde euer Podcast super!
--Es ist sehr einfach und verständlich erklärt!
--Es ist sehr angenehm zuzuhören!
-Bei 13:35 wird erklärt, dass "NULL" (deutsch ausgesprochen) in den Speicher geschrieben wird. Auch wird nochmals erklärt (13:48) das NULL "nur eine andere Schreibweise für 0" sei.
In den vorherigen Folgen bestandet ihr jedoch explizit auf die englische Sprache. Ich möchte darauf hinweisen, dass NULL das englische Wort NULL ist und nicht für die deutsche Zahl 0 steht. (NULL != 0).
Es ist lediglich eine ...(hier fehlt mir das passende Wort)... aber ist diese Unterscheidung in späteren größeren Projekten sehr wichtig und essenziell.
.8bui
Hallo,
ich hab vor geraumer Zeit euer Podcast bei iTunes gefunden und hab diesen auch gleich Abonniert. Heute Nacht habe ich angefangen sie mir förmlich "einzusaugen". Nun bin ich bei der Folge #007 angelangt und fühle mich gezwungen mich bemerkbar zu machen.
Meine Kritikpunkte:
-Ich finde euer Podcast super!
--Es ist sehr einfach und verständlich erklärt!
--Es ist sehr angenehm zuzuhören!
-Bei 13:35 wird erklärt, dass "NULL" (deutsch ausgesprochen) in den Speicher geschrieben wird. Auch wird nochmals erklärt (13:48) das NULL "nur eine andere Schreibweise für 0" sei.
In den vorherigen Folgen bestandet ihr jedoch explizit auf die englische Sprache. Ich möchte darauf hinweisen, dass NULL das englische Wort NULL ist und nicht für die deutsche Zahl 0 steht. (NULL != 0).
Es ist lediglich eine ...(hier fehlt mir das passende Wort)... aber ist diese Unterscheidung in späteren größeren Projekten sehr wichtig und essenziell.
.8bui
9. peter am 4. Sep 2009, 00:25 Uhr
Tja lieber Clemens,
dann genieß es noch, solange Folge 8&9 noch nicht online sind - denn die könnten heftig werden ;) Model-View-Controller in der Praxis, wir bauen unsere erste eigene Klasse und machen ein Objekt draus. Was schlimmer klingt als es ist, sich aber doch nur anspruchsvoll erklären lässt. Wie schon gesagt - Kindergarten ist vorbei ...
Peter
Tja lieber Clemens,
dann genieß es noch, solange Folge 8&9 noch nicht online sind - denn die könnten heftig werden ;) Model-View-Controller in der Praxis, wir bauen unsere erste eigene Klasse und machen ein Objekt draus. Was schlimmer klingt als es ist, sich aber doch nur anspruchsvoll erklären lässt. Wie schon gesagt - Kindergarten ist vorbei ...
Peter
8. Clemens Vill am 3. Sep 2009, 22:04 Uhr
Hallo Ihr beiden,
Gratulation zu einem exzellenten Podcast. Ich geniesse die Folgen wirklich!
Macht weiter so - ich freue mich auf die nächste Folge!
Clemens
Hallo Ihr beiden,
Gratulation zu einem exzellenten Podcast. Ich geniesse die Folgen wirklich!
Macht weiter so - ich freue mich auf die nächste Folge!
Clemens
7. Leo am 3. Sep 2009, 03:09 Uhr
Hallo Peter , hallo Ingo !
Ich finde euren Podcast einfach super und schaue ihn mir jedes mal gerne an. Zur Zeit seid ihr in iTunes ja nicht ganz vorne (in den Hitlisten), aber ihr habt echt , wie ich finde , das Zeug dazu , mit Podcasts wie Bits uns so mitzuhalten !
Ich freue mich auf viele weitere Folgen , macht weiter so !
Gruß Leo
Hallo Peter , hallo Ingo !
Ich finde euren Podcast einfach super und schaue ihn mir jedes mal gerne an. Zur Zeit seid ihr in iTunes ja nicht ganz vorne (in den Hitlisten), aber ihr habt echt , wie ich finde , das Zeug dazu , mit Podcasts wie Bits uns so mitzuhalten !
Ich freue mich auf viele weitere Folgen , macht weiter so !
Gruß Leo
6. ingo am 1. Sep 2009, 19:49 Uhr
Hallo Dirk!
Du wirst das neu gewonnene Wissen ab der nächsten Folge in die Praxis umgesetzt sehen! :-)
Gruß, Ingo
Hallo Dirk!
Du wirst das neu gewonnene Wissen ab der nächsten Folge in die Praxis umgesetzt sehen! :-)
Gruß, Ingo
5. Dirk am 1. Sep 2009, 11:42 Uhr
Hallo Peter, hallo Ingo,
wirklich anschaulich erklärt.
Bin gespannt, wann man solches Detailwissen beim Entwickeln benötigt.
ihr wisst ja: ...ich bleib am Ball ;-)
Gruß
Dirk
Hallo Peter, hallo Ingo,
wirklich anschaulich erklärt.
Bin gespannt, wann man solches Detailwissen beim Entwickeln benötigt.
ihr wisst ja: ...ich bleib am Ball ;-)
Gruß
Dirk
4. mrgamewatch am 31. Aug 2009, 01:59 Uhr
Super erklärt! Hab ich in den Büchern nie richtig verstanden, in eurem Podcast beim ersten Mal angucken.
Danke, macht bitte weiter!
Super erklärt! Hab ich in den Büchern nie richtig verstanden, in eurem Podcast beim ersten Mal angucken.
Danke, macht bitte weiter!
2. Schreda am 30. Aug 2009, 18:23 Uhr
Vielen dank für die folge,
ich hoffe eure Serie geht weiter
Liebe Grüße
Vielen dank für die folge,
ich hoffe eure Serie geht weiter
Liebe Grüße
1. risetothesky am 30. Aug 2009, 13:32 Uhr
Wirklich eine sehr interessante Folge. Ich glaube die Theorie mit der Speicherverwaltung habe ich verstanden. Bitte bitte macht noch lange so weiter mit dem Podcast! Er hilft mir sehr weiter und ich weiß euern Aufwand wirklich zu schätzen.
Wirklich eine sehr interessante Folge. Ich glaube die Theorie mit der Speicherverwaltung habe ich verstanden. Bitte bitte macht noch lange so weiter mit dem Podcast! Er hilft mir sehr weiter und ich weiß euern Aufwand wirklich zu schätzen.
http://www.mac-talk.eu/entwickler/71-videotutorials-zu-objective-c.html