2016-07-07 23 views
1

Ich muss nativen Code schreiben, um ein Bild aus der Kamerabibliothek zu löschen. Ich bin ganz neu in Objective C, damit ich ein wenig verwirrt durch die folgenden Zeilen in Codenamen One developper Führung gefunden erhalten:Können die Argumente bei der Verwendung von systemeigenem Code in Codename One wie gewünscht benannt werden?

Objective-C beruht auf Argumentnamen als Teil der Nachricht (Methode) Unterschrift. Also - (NSString *) helloworld: (NSString *) param ist nicht die gleiche wie - (NSString *) helloworld: (NSString *) iChangedThisName! Ändern Sie nicht die Argumentnamen in der nativen Objective-C-Schnittstelle!

Ist es, dass public boolean deleteFile(String path) in Java geschrieben werden (BOOL)deleteFile: (NSString*) param in meinem Objective C nativen Code hat?

Oder bedeutet es, dass die Parameternamen in der Schnittstellendatei (.h) und in der Implementierungsdatei (.m) identisch sein müssen?

Vielen Dank an alle, die es in meinen Gedanken klarer machen ;-)!

Prost

+0

Ich habe bemerkt, dass Sie die Antworten für die meisten Fragen, die richtig beantwortet wurden, nicht akzeptiert haben. Bitte tun Sie, da es der antwortenden Person hilft, Ihnen zusätzliche Punkte bietet und ein besser beantwortete Fragenverhältnis zum Tag zur Verfügung stellt. –

+0

Es tut mir leid, dass meine Verbindung für eine Woche unterbrochen wurde. Aber ich werde! – HelloWorld

Antwort

1


Ich glaube, Sie Ihr Java-Argument Namen in Ihren Obj-C-Dateien zu behalten.
Andernfalls würde es nicht als eine Implementierung von NativeInterface erkannt werden.

Und es ist einfach, die Schnittstelle zu pflegen.

+1

Korrigieren. Objective-C betrachtet den Namen des Arguments als Teil der Methodensignatur, was es schwierig macht, dies in irgendeiner Weise sinnvoll zu mappen. Sie können diese nach der Tat nicht ändern. –

+0

Danke. Also müssen von der Java-Schnittstelle zum Obj-C-Native-Code dieselben Argumentnamen verwendet werden. – HelloWorld