Mein Projekt ist eine Mischung aus Obj-C und Swift, und ich versuche, meine AppDelegate-Klasse mit Swift zu erweitern.Wie implementiere ich Delegate-Methoden durch Swift-Erweiterung
So jetzt habe ich AppDelegate.m
, AppDelegate.h
und AppDelegate.swift
. Die meisten Methoden sind in der Obj-C-Datei, aber ich versuche, nur eine der Methoden zu implementieren:
extension AppDelegate {
func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
}
}
aber es beschwert:
AppDelegate.swift:11:10: Method 'application(_:continueUserActivity:restorationHandler:)' with Objective-C selector 'application:continueUserActivity:restorationHandler:' conflicts with previous declaration with the same Objective-C selector
Dies ist eine Einschränkung der Swift-Erweiterung ? Oder gibt es eine Möglichkeit, diese Delegate-Methode in meiner Swift-Erweiterungsdatei zu implementieren?
Wenn Sie eine vorhandene Methode überschreiben möchten, müssen Sie eine Unterklasse erstellen, anstatt eine Erweiterung zu schreiben – Daniel
@simpleBob Es ist keine bestehende Methode, ich habe es nicht in meiner Obj-C-Klasse implementiert. –