Am Aufruf einer .mm (objective-c/C++) -Klasse Methode von meinem schnellen ViewController über verknüpfte Header.Sie wurden erfolgreich verknüpft. Ich habe jedoch Schwierigkeiten, korrekte Datentypen zu übergeben, die als Argumente übereinstimmen. Hier ist, wo ich die Funktion in swift rufenWie kann ich sicherstellen, dass meine Array-Struktur in Objective-C und Swift identisch ist?
OpenCVWrapper.thefunc(array1, otherstuff);
.. .array1
ist vom Typ [[Int]]
und hier ist die Definition in Objective-c
+(NSString*) thefunc: (int[][2])array1 otherstuff(int)other{
aber ich habe den Fehler
Cannot convert value of type '[[Int]]' to expected argument type 'UnsafeMutablepointer<(Int32)(Int32)>!'
Wie in einem anderen ähnlich diskutiert Frage ich gepostet, muss ich sicherstellen, dass swift array1 ist in der Tat vom Typ [(Int32, Int32)]. Jetzt werden keine Fehler geworfen.
ABER, wenn ich die Objective-C Methode trocken ausführe, zeigt das Array1 nur mit 2 Werten (nach Bruchpunkt). Wo wie in Swift ich durch 9 (von 2) gehe, was ich will.
Meine Frage ist, Wie kann ich bestätigen, dass mein Array in objective-c die gleiche Struktur zu der in swift sein wird?
stellt sich heraus, Debugger nicht mir alle Werte zeigte - so ja rechten Beifall. –