Ich versuche Protokoll/Delegierten mit perform zu implementieren, aber ich bin immer diese Fehlermeldung:Swift: Wert des Typs hat kein Mitglied ‚peformSelector‘
Value of type 'DoingSomething' has no member 'peformSelector'
Hier meine Implementierung ist:
import UIKit
protocol DoingSomethingDelegate {
// delegate function
}
class DoingSomething {
func goDoSomething()
self.performSelector(onMainThread: #selector(self.processSomething()), with: nil, waitUntilDone: true)
}
func processSomething() {
print("I'm done")
}
}
Aber wenn ich die Funktionen auf den ViewController verschiebe, habe ich keine Fehler. Jeder von Ihnen weiß warum der Fehler oder wie kann ich diesen Fehler beheben?
Ich werde Ihre Hilfe wirklich zu schätzen wissen.
Es ist eine 'NSObject' Methode und Ihre Klasse erbt nicht von' NSObject' – dan
Betrachten Sie 'DispatchQueue.main.sync'. 'performSelector ...' ist veraltet (in Swift). – vadian
@dan, Hinzufügen von NSObject zur Klasse machte den Trick: Klasse DoingSomething: NSObject – user2924482