was bedeutet -arrayWithArray eigentlich TUN?
Will ich sehen, wie GENAU es erstellt ein array. Wie kann ich die .m-Dateien, die zeigen, wie es geht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Will ich sehen, wie GENAU es erstellt ein array. Wie kann ich die .m-Dateien, die zeigen, wie es geht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als @Ken erwähnt, Sie können nicht sehen, die Quelle (obwohl Sie zerlegen die Methode via gdb).
Die Methode selbst erzeugt eine unveränderlich (kann nicht geändert werden), autoreleased Kopie des angegebenen Arrays. Die folgenden sind im Verhalten identisch:
Pick-je nachdem, was Sie mögen, basierend auf Kürze, denke ich :-).
Nein, Kakao ist nicht open source.
Wenn Sie eine Frage haben, sollten Sie einfach Fragen.
Wäre dies ein guter Weg, um es zu implementieren:
Lesen Sie die GNUStep Quelle für NSArray, aber bewusst sein, dass dies eine Alternative Implementierung der Cocoa-APIs.
Wenn Sie sich Fragen, was ist der Zweck der
+arrayWithArray
(abgesehen davon, dass ein autorelease wrapper-initWithArray
), ich würde sagen, es ist dieses: es Verwenden, wenn Sie möchten, erstellen Sie eine autoreleased Kopie eines Arrays. In anderen Worten, Sie konnte es sehen wie diese:Ist äquivalent zu:
Ich würde sagen, es ist für Bequemlichkeit zu verwenden, wenn es Ihrem Stil passt.
original
ist ein NSArray. Aber es kann nichts abgeleitet von NSArray. Und das Objekt der Klasse implementieren kann, seine eigenencopy
. Daher[[original copy] autorelease];
ist nicht garantiert, um eine NSArray.GNUstep, die GNU-Implementierung der OPENSTEP Spezifikation, aus dem Cocoa und Cocoa Touch absteigen, implementiert
+arrayWithArray:
wie folgt:http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSArray.m?view=markup