Trong khi cố gắng di chuyển sang Swift 3 (trong một dự án có chứa khoảng nửa/nửa mã swift/target-c), tôi đang gặp phải vấn đề. Chúng tôi tuyên bố giao thức cụ thể này trong Objective-C như thế này:Lỗi chuyển đổi Swift 3/NSError
@protocol AProtocolDeclaration <NSObject>
- (void)someEventHappened:(nullable NSError *)error;
@end
Swift trình biên dịch tạo ra sau cho việc kê khai giao thức trên:
public protocol AProtocolDeclaration : NSObjectProtocol {
public func someEventHappened(_ error: Error?)
}
Và khi thực hiện các giao thức trong một concrete class (in swift)
và cố gắng để xác định tạo ra phương pháp, tôi tiếp tục nhận được lỗi một cái gì đó như: không thể chuyển đổi Error to NSError
. Tôi không chắc chắn cách khắc phục lỗi này. Bất kỳ ai có thể đề nghị?
Có một cái nhìn [ở đây ] (https://github.com/apple/swift-evolution/blob/master/proposals/0112-nserror-bridging.md) – Carpsen90
Vui lòng cụ thể hơn. Là lỗi của bạn "không thể chuyển đổi lỗi thành NSError" một lỗi thời gian chạy hoặc biên dịch lỗi thời gian? Tất nhiên mã gây ra vấn đề là cần thiết. Và đừng nói "điều gì đó". Sao chép thông báo lỗi chính xác trên bảng điều khiển. – OOPer