Klingt dumm, aber ...Aufruf rasche Methode von Objective C
ich eine schnelle Klasse mit einem öffentlichen Verfahren habe
class PlayerVC: UIViewController {
func retrievePixelBufferToDraw(strongSelf: PlayerVC) -> CVPixelBuffer? {
...
return pixelBuffer
}
}
Ich versuche, es von einer Objective-C-Klasse zu nennen (Haftungsausschluss ich bin ein Anfänger mit Objective-C und ich konnte die Antwort online auf ..) wie finden:
PlayerVC* VC = self.playerController;
CVPixelBufferRef pixelBuffer = [VC retrievePixelBufferToDraw:VC];
Aber die Syntax ist nicht korrekt. (No visible @interface for 'PlayerVC' declares the selector 'retrievePixelBufferToDraw:'
) Ich habe eine Vielzahl von Belichtungsreihen versucht, Doppelpunkte, Variablennamen usw.
#import " -Swift.h" dann ist der Methodenname 'retrievePixelBufferToDrawWithStrongSelf' ... Aktivieren Sie das Feld "Objective-C Generated Interface Header Name" in Ihren Build-Einstellungen –
RJE
danke, ich habe es dank der automatisch vervollständigen. Wissen Sie, warum der Methodenname und der Parametername in 'retrievePixelBufferToDrawWithStrongSelf' zusammengeführt werden? – Guig
automatisch generierten ObjC Header wird Methoden Namen wie das machen. Dasselbe gilt auch für den anderen Weg. z.B. Wenn Ihre ObjC-Klasse eine Methode hat, sagen wir: "initWithName:" swift sieht sie (wenn Sie richtig überbrücken) als func init (name :) – RJE