Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
XCode 2.4.1 ist da
XCode 2.4.1 ist da
Z
01.11.06
09:07
Kennt Ihr das Gefühl, etwas unnötig gemacht zu haben?
Ich hab z.B. gestern XCode 2.4 erneut runtergeladen...
Und heute ist gerade XCode 2.4.1 erschienen.
Hilfreich?
0
Kommentare
jonny91
01.11.06
09:12
Ich will Xcode 3.0:-/
„How much wood would a woodchuck chuck if a woodchuck could chuck wood?“
Hilfreich?
0
Z
01.11.06
10:10
will ich auch. Aber das dauert wohl noch.
Hilfreich?
0
aikonch
02.11.06
16:26
Gibt es eigentlich irgendwo ein "Schnelleinstieg" wenn möglich auf Deutsch sozusagen von 0 bis zur ersten HelloWorld.app komplett in XCode gewschrieben und UB....also so im Stil wo muss ich klicken um was zu machen....korrekt, damit habe ich immer die grössten Probleme, nicht mit dem schreiben von Programmen....:-D
Hilfreich?
0
planetexpress69
02.11.06
16:27
Aikonch, mache ich Dir.
Hilfreich?
0
planetexpress69
02.11.06
16:29
Ich meine, formuliere eine kleine Challenge, was das Programm machen soll und ich schreibe Dir ein Tutorial...
Hilfreich?
0
rowkajjh
02.11.06
16:33
aikonch
Gibt es eigentlich irgendwo ein "Schnelleinstieg" wenn möglich auf Deutsch sozusagen von 0 bis zur ersten HelloWorld.app komplett in XCode gewschrieben und UB....also so im Stil wo muss ich klicken um was zu machen....korrekt, damit habe ich immer die grössten Probleme, nicht mit dem schreiben von Programmen....:-D
#import <stdio.h>
int main()
{
puts("Hallo Welt!");
return 0;
}
Das war aber einfach. Ansonsten:
Hilfreich?
0
Arachnid
02.11.06
16:36
rowkajjh
Er will bestimmt eher ein tolles App mit GUI und kein C Programm machen, weil das brauch man ja nicht in XCode machen, da nimmt man Vim und gut ist
.
Hilfreich?
0
aikonch
02.11.06
16:43
planetexpress69, sehr cool....hmmm irgend was ganz kleines, wo man zwei Zahlen eingeben kann und mit der Maus auf = drücken und schon wird das Ergebnis ausgegeben oder so....:-y(!)
Hilfreich?
0
aikonch
02.11.06
16:45
rowkajjh, eben nicht das Programmm schreiben ist das Problem, sondern der Rest darum....also von diesem "Text2 zum APP das man jemandem geben kann, der kopiert es nach Programme und startet es....
Arachnid, Gui ist auch nett, müsste nichteinmal sein, mehr eine Anleitung wie benutze ich XCode....
Hilfreich?
0
Nebu2k
02.11.06
17:00
planetexpress69
Wäre an dem Tuturial dann auch interessiert.
Hilfreich?
0
planetexpress69
02.11.06
17:11
Moment... 10 Minuten.
Hilfreich?
0
rowkajjh
02.11.06
17:12
Arachnid
rowkajjh
Er will bestimmt eher ein tolles App mit GUI und kein C Programm machen, weil das brauch man ja nicht in XCode machen, da nimmt man Vim und gut ist
.
Da ist kein C, das ist Obj-C.
Aber mal im Ernst. der Hillegass, alles andere ist Quatsch. Wollte man ein anständiges Tutorial machen, wäre es auch nicht kürzer.
Hilfreich?
0
Arachnid
02.11.06
17:15
rowkajjh
Das ist pures ANSI C !
Hilfreich?
0
Arachnid
02.11.06
17:16
Das gute ist ja, dass man in Obj. C auch normales C mit nutzen kann, deshalb verwechelst du das vielleicht.
Hilfreich?
0
Arachnid
02.11.06
17:20
Genauso verhällt es sich mit C++. man kann C und C++ miteinander mischen, sowie C und obj. C.
Hilfreich?
0
jonny91
02.11.06
17:21
rowkajjh stimmt! Hillegass ist genial. Nur wenn man nur mal ganz fix rein schnuppern möchte tut es auch der Currency Converter:
„How much wood would a woodchuck chuck if a woodchuck could chuck wood?“
Hilfreich?
0
planetexpress69
02.11.06
17:44
Uuuund los:
XCode starten
[XC] File
New Project
Cocoa-Application
[XC] Project Name: AddNumbers
[XC] Project Directory: ~/AddNumbers/
[XC] Doppelklick auf AddNumbers/Resources/MainMenu.nib (IB startet)
[IB] Doppelklick auf "Window" (im Fenster MainMenu.nib (English))
[IB] Drei Textfelder (für Summand1, Summand2, Summe) aus der Palette und einen Button (für die Action) auf das Fenster ziehen und nach Geschmack anordnen.
[IB] Auf Tab "Classes" umschalten, dort ganz nach Links auf die Objektwurzel scrollen und 'NSObject' auswählen.
[IB] Rechtsklick au 'NSObject' und 'Subclass NSObject' wählen
es entsteht 'MyObject'.
[IB] Rechtsklick auf 'MyObject'
Add outlet to MyObject
das entstehende 'myOutlet' in 'summand1' umbenennen.
[IB] Rechtsklick auf 'MyObject'
Add outlet to MyObject
das entstehende 'myOutlet' in 'summand2' umbenennen.
[IB] Rechtsklick auf 'MyObject'
Add outlet to MyObject
das entstehende 'myOutlet' in 'summe' umbenennen.
[IB] Rechtsklick auf 'MyObject'
Add outlet to MyObject
das entstehende 'myOutlet' in 'button' umbenennen.
[IB] Rechtsklick auf 'MyObject'
Add action to MyObject
das entstehende 'myAction:' in 'summiere:' umbenennen.
[IB] Rechtsklick auf 'MyObject'
Instantiate MyObject
der IB schaltet wieder auf die Ansicht 'Instances' um.
[IB] Vom selektierten blauen Würfel 'MyObject' mit gedrückter 'Ctrl'-Taste eine Verbindung zum ersten Textfeld (soll Summand1 sein) ziehen und im Fenster Connections das Outlet 'summand1' selektieren. 'Connect' button drücken.
[IB] Vom selektierten blauen Würfel 'MyObject' mit gedrückter 'Ctrl'-Taste eine Verbindung zum zweiten Textfeld (soll Summand2 sein) ziehen und im Fenster Connections das Outlet 'summand2' selektieren. 'Connect' button drücken.
[IB] Vom selektierten blauen Würfel 'MyObject' mit gedrückter 'Ctrl'-Taste eine Verbindung zum dritten Textfeld (soll Summe sein) ziehen und im Fenster Connections das Outlet 'summe' selektieren. 'Connect' button drücken.
[IB] Vom selektierten blauen Würfel 'MyObject' mit gedrückter 'Ctrl'-Taste eine Verbindung zum Button (triggert die Action) ziehen und im Fenster Connections das Outlet 'button' selektieren. 'Connect' button drücken.
[IB] Vom angelegten Button im Fenster Window (Dein Programm-GUI) mit gedrückter Control-Taste eine Verbindung zum blauen Würfel 'MyObject ziehen, Action 'summiere:' auswählen. 'Connect' drücken.
Alles verkabelt?
[IB] Blauen Würfel "MyObject" auswählen und auf Tab "Classes" umschalten. Dort sollte 'MyObject' in der Liste bereits selektiert sein.
[IB] Recte Mausklick auf den selektierten Eintrag 'MyObject'
'Create Files for MyObject'. Alles so lassen und "Choose" wählen.
[IB] Speichern und beenden.
[XC] AddNumbers/Other Sources ausklappen. Dort müssten jetzt 'MyObject.h' und 'MyObject.m' liegen!?
[XC] MyObject.m editieren und zwischen die beiden geschwungenen Klammern
[summe setStringValue:[[[NSNumber alloc] initWithInt:[summand1 intValue] + [summand2 intValue]] stringValue]];
schreiben.
Build & Run!
Hilfreich?
0
planetexpress69
02.11.06
17:47
Aber ich denke auch, dass Hillegas besser ist.
Hilfreich?
0
jonny91
02.11.06
17:50
planetexpress69
Aber ich denke auch, dass Hillegas besser ist.
„How much wood would a woodchuck chuck if a woodchuck could chuck wood?“
Hilfreich?
0
MacRabbitPro
02.11.06
18:02
planetexpress69
schönes Speicherleak dass du da in deinem Beispielprogramm produziert hast
...nicht zur Nachahmung empfohen! (sick)
Hilfreich?
0
jonny91
02.11.06
18:22
MacRabbitPro: stimmt!
[summe setIntValue:[summand1 intValue] + [summand2 intValue]];
tut es doch auch! und ist sogar einfacher. Oder:
[summe setStringValue:[[[[NSNumber alloc] initWithInt:[summand1 intValue] + [summand2 intValue]] autorelease] stringValue]];
„How much wood would a woodchuck chuck if a woodchuck could chuck wood?“
Hilfreich?
0
planetexpress69
02.11.06
18:24
Mann, ich wußte es.
Hilfreich?
0
rowkajjh
02.11.06
18:29
Arachnid
rowkajjh
Das ist pures ANSI C !
Klar, vor allem diese Zeile:
#import <stdio.h>
Hilfreich?
0
jonny91
02.11.06
18:36
rowkajjh
#include <stdio.h>
dann passt es
„How much wood would a woodchuck chuck if a woodchuck could chuck wood?“
Hilfreich?
0
Arachnid
02.11.06
19:20
ach komm, ob nun import oder include ...
Ne ok, bin einverstanden, aber halt nur die erste Zeile..
Hilfreich?
0
aikonch
02.11.06
21:26
planetexpress69, wow cool, vielen herzlichen Dank da werde ich mich gleich mal dahinterklemmen!!
Hilfreich?
0
Z
03.11.06
07:41
MacRabbitPro
planetexpress69
schönes Speicherleak dass du da in deinem Beispielprogramm produziert hast
...nicht zur Nachahmung empfohen! (sick)
erklär mal bitte genauer
Hilfreich?
0
rowkajjh
03.11.06
10:03
Z
MacRabbitPro
planetexpress69
schönes Speicherleak dass du da in deinem Beispielprogramm produziert hast
...nicht zur Nachahmung empfohen! (sick)
erklär mal bitte genauer
Er meint bestimmt das hier:
[summe setStringValue:[[[NSNumber alloc] initWithInt:[summand1 intValue] + [summand2 intValue]] stringValue]];
Wo ist das dealloc zu dem alloc?
Hilfreich?
0
MacRabbitPro
03.11.06
10:40
Z
rowkajjh hat Recht.
Alles Objekte die mit alloc / init erzeigt werden müssen mit release oder autorelease explizit freigegeben werden sonst bleicht der Speicher bis zum Programmende allockiert.
Da er ein NSNumber Objekt mit alloc / init erzeugt, damm die Referenz darauf aber direkt in setStringValue von summe "hineinsteckt", "verliert" er das Objekt und kann es nicht wieder freigeben.
Es hätte schon gereicht wenn er es folgendermaßen geschrieben hätte:
NSNumber* result = [[NSNumber alloc] initWithInt:[summand1 intValue] + [summand2 intValue]];
[summe setStringValue:[result stringValue]];
[result release];
Hilfreich?
0
planetexpress69
03.11.06
10:50
Natürlich haben alle recht, die das Leck bemängelten. Sorry, aber da habe ich mir auf die Rasche wirklich kompliziert ins Bein geschossen.
Ich habe aber mehr Mühe darauf verwandt, das Verdrahten der Interface-Komponenten und das Generieren der Stubs zu beschreiben. Und das wurde ja auch primär angefragt.
Allerdings hat der Fehler eher akademische Konsequenzen, es sollte 'AddNumbers' (bei einer angenommenen kurzen Laufzeit) kaum gelingen, mehr als 1 GB mit stehengelassenen NSNumbers zu allozieren.
Grundsätzliches zur Speicherverwaltung (release/retain) findet sich zum Beispiel bei cocoadevcentral.com.
Und wenn ich mich recht erinnere nimmt Herr Hillegas beim Start auch erst mal Leaks in Kauf, um im zweiten Schritt zu illustrieren, wie man sie los wird.
Fortgeschrittenen Einsteigern empfehle ich als Editor SubEthaEdit. Dort wird per Syntax-Coloring alles rot eingefärbt, was 'released' werden muß.
Der primär Java nutzende Martin
Hilfreich?
0
Michael Schmidt
03.11.06
17:26
Übrigens: So für den Einstieg:
CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
Hilfreich?
0
Dieter
01.11.06
10:15
Ist 4.x nicht noch besser?
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Hohe Softwareanforderungen: Neues USB-C-Zubehör...
iPod-Vater Tony Fadell wollte Sonos kaufen – St...
Update-Abend: macOS 15.1.1, iOS 18.1.1, iPadOS ...
Mac ausschalten?
Kurz: Trump unterstützt Musk als TikTok-Besitze...
Tim Cooks Jahresgehalt – und die Vergütung der ...
Parallels führt x86-Windows auf M-Macs aus – Te...
Mac-Leistung: Wie viel schneller ist eine inter...