Kann eine Funktion ein Objekt zurückgeben? Objective-C und NSMutableArray

Ich habe ein NSMutableArray. Es sind Mitglieder schließlich Mitglieder einer array-Instanz in einer Klasse. Ich will den instantiantion von NSMutable in einer Funktion und zur Rückgabe eines array-Objekts. Wenn ich dies tun können, kann ich einige meiner code leichter zu Lesen. Ist das möglich?

Hier ist, was ich versuche herauszufinden.

//Definition:
function Objects (float a, float b) {
    NSMutableArray *array = [[NSMutableArray alloc] init];
    [array addObject:[NSNumber numberWithFloat:a]];
    [array addObject:[NSNumber numberWithFloat:b]];  
    //[release array]; ????????
    return array;
}

//Declaration:
 Math *operator = [[Math alloc] init];
    [operator findSum:Objects(20.0,30.0)];

Mein code kompiliert werden, wenn ich instanziieren NSMutableArray kurz bevor ich senden Sie die Nachricht an den Empfänger. Ich weiß, ich kann ein array Arguments zusammen mit der Methode. Was ich habe ein problem zu sehen ist, wie eine Funktion verwenden, und ersetzen Sie das argument bei einem Funktionsaufruf. Jede Hilfe ist willkommen. Ich interessiere mich für das Konzept nicht in der Liste der Vorschläge zu ersetzen, die findSum Methode.

  • Dies ist keine gültige C-Funktion Erklärung überhaupt. Zum deklarieren einer Funktion in C, die Sie einfach den Rückgabetyp (in diesem Fall NSMutableArray*), dann den Namen der Funktion, gefolgt von der Liste der formalen Parameter. Es gibt auch andere qualifier keywords, aber das ist der basic. C hat keine Vorstellung von einer "Funktion" Schlüsselwort zum deklarieren von Funktionen. Dies sollte nicht selbst kompilieren.
  • tatsächlich, das war nicht immer Teil von meinem code, es ist eine abstrakte Darstellung. Ich habe versucht, herauszufinden, einen Weg, dass squeegy zeigte und nicht wusste, dass Sie eine Funktion definieren, die als Obj-C Typ. Vielen Dank für den Versuch zu helfen.
  • Wenn du mit ARC (Automatic reference counting), dann autorelease ist nicht mehr möglich. Sie können hinzufügen, einige Kennzeichen, die das Ergebnis sollte autoreleased. Nicht sicher, wie das getan werden sollte, obwohl.
  • es macht das richtige standardmäßig
InformationsquelleAutor nebulus | 2010-04-16
Schreibe einen Kommentar