プロトコル拡張内で「自己」をキャストしようとしていました。実際のデバイスで実行すると EXC_BAD_ACCESS エラーでクラッシュしましたが、シミュレーターでは問題なく動作しました。これを機能させるにはどうすればよいですか?ありがとう
私のコード全体:
protocol SomeProtocol: class {
}
protocol DataSetEditable {
func add(_ data: Data)
}
extension DataSetEditable where Self: SomeClass {
func add(_ data: Data) {
print(data)
if let someProtocol = self as? SomeProtocol {
print(someProtocol)
//do some extra works
}
}
}
class SomeClass: UIView {
}
class MyClass: SomeClass, DataSetEditable, SomeProtocol {
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myClass = MyClass()
myClass.add(Data())
}
}