Tôi đang cố gắng để thực hiện phương pháp giao thức tùy chọn này từ Objective-C trong mau lẹ:Thực hiện Nghị định thư objectivec trong nhanh chóng
- (void)customHTTPProtocol:(CustomHTTPProtocol *)protocol logWithFormat:
(NSString *)format arguments:(va_list)arguments;
(cfr: https://developer.apple.com/library/ios/samplecode/CustomHTTPProtocol/Introduction/Intro.html) Tôi đã viết phương pháp này trong nhanh chóng:
func customHTTPProtocol(`protocol`: CustomHTTPProtocol!, logWithFormat format: String!, arguments: CVaListPointer) {
}
nó than phiền rằng không thể đáp ứng yêu cầu tùy chọn và gợi ý thêm @objc trước khi phương pháp, nhưng nếu tôi thêm @objc, nó sẽ báo lỗi (CVaListPointer không thể đại diện trong Objective-C)
Vấn đề là thử nghiệm này không thành công:
if ([strongDelegate respondsToSelector:@selector(customHTTPProtocol:logWithFormat:arguments:)]) {
và phương pháp nhanh chóng không được gọi
Điều này đã được thực hiện, tôi có một vấn đề khác, do thực tế là phương thức giao thức là tùy chọn và (va_list) có thể được dịch sai – atrebbi