Zitat Zitat von Desmulator Beitrag anzeigen
Aber eben nur die erkennen es. Wenn man mal ganz ehrlich ist, so kann man nicht darauf schließen wenn man [[NSString alloc] initWithString:someString]; sieht, dass dort etwas erzeugt wird. Designfehler? Eben Ansichtssache.
Nun, man könnte aus "alloc" schließen, daß etwas allokiert wird und aus "initWith...", daß etwas initialisiert wird. Natürlich sehen Obj-C-Konstruktoren solchen aus C-artigen Sprachen nicht ähnlich, weil sie nicht aus C kommen sondern aus Smalltalk. Allerdings ist es, sofern man weiß, daß [X Y] Funktion Y von Objekt X aufruft, eine sehr schnell gelernte Konvention. Ich unterstelle mal, daß du Probleme mit dem Verstehen des Codes hast, weil du Smalltalk-Syntax nicht gewohnt bist, und nicht weil alloc so wenig auf Allokation hindeutet.

Und das ist mein ganzes Argument: Objective-C braucht keine besondere Auszeichnung für Klassen, da die Sprachkonventionen so gewählt wurden, daß (sofern der Programmierer sich daran hält und der Leser die Syntax der Sprache kennt) aus dem Kontext heraus ersichtlich ist, was gemeint ist.