2009-03-03 6 views
7

Ho modificato una funzione di stile c in un metodo obiettivo-c. Come metodo, come lo uso?Chiamare un metodo obj-c con un parametro

NSString* myfunc(int x) 

     is now: 

    - (NSString *)myFuncWithParam:(int)x 


c code: myString = myfunc(x); // works 

obj-c code: myString = myFuncWithParam(x); // fails to compile. 

Da una delle risposte: myString = [myFuncWithParam oggetto: x];

In questo caso, ciò che sarebbe "oggetto" essere?

+0

Probabilmente dovresti modificare il titolo della tua domanda come "Chiamare un metodo C obiettivo con un parametro". – notnot

+0

Ho aggiornato la mia risposta per descrivere quale oggetto è ... Potreste voler studiare un po 'sulla programmazione orientata agli oggetti prima di continuare con Obj-C dato che è un concetto molto importante. –

+0

Non è possibile modificare leggermente la sintassi e prevedere che il codice C procedurale funzioni improvvisamente come Objective-C. È come aggiungere "o" a tutte le tue parole e immaginare di parlare spagnolo. Devi effettivamente imparare Objective-C. – Chuck

risposta

13

myString = [object myFuncWithParam:x];

Dove oggetto è l'oggetto che ha il metodo che si sta chiamando. Se lo chiami dallo stesso oggetto, userai 'self'. This tutoria Posso aiutarti ad imparare Obj-C.

0

è necessario utilizzare la parentesi quadra "messaggio" sintassi:

myString = [myObject myFuncWithParam: value];

0

Off divagazioni tema/vecchio uomo:

Una volta, quando mi annoiavo, ho cercato di creare una sintassi Obj-C-like per C++ utilizzando l'overloading degli operatori. Credo di essere riuscito a ottenere

myString = myObject[myFuncWithParam](value); 

al lavoro.