Wie man eine schwache Referenz auf ein Protokoll in reinem Swift (ohne @objc) erstellt
Hallo zusammen! Ich bin neu in Swift und habe ein Problem bei der Implementierung des Delegate-Patterns.\n\nIch habe ein Protokoll `MyDelegate` und eine Klasse `ViewController`, die als Delegate für eine andere Klasse `Service` fungieren soll. Ich möchte, dass die Eigenschaft `delegate` in `Service` eine schwache Referenz (weak) ist, um einen starken Referenzzyklus und Speicherlecks zu vermeiden.\n\nHier ist mein Code:\n\n```swift\nprotocol MyDelegate {\n func didSomething()\n}\n\nclass Service {\n weak var delegate: MyDelegate? // Fehler: 'weak' cannot be applied to non-class type 'MyDelegate'\n \n func performTask() {\n delegate?.didSomething()\n }\n}\n\nclass ViewController: MyDelegate {\n func didSomething() {\n print("Arbeit erledigt!")\n }\n}\n```\n\nXcode gibt einen Fehler aus: `'weak' cannot be applied to non-class typ`