Khi sử dụng Xcode 9, có một số cảnh báo trình biên dịch nói rằng This function declaration is not a prototype
. Nó gợi ý thêm void
vào phần thân phương thức, nó sẽ giải quyết nó. Vấn đề tôi đang gặp phải là những cảnh báo đó cũng được gửi cho UIApplication
các phương thức ủy quyền của API hệ thống :
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)())completionHandler
Điều này có thể được giải quyết bằng cách sau:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)(void))completionHandler
Bây giờ tôi đang tự hỏi liệu các phương pháp ủy quyền sẽ vẫn hoạt động lâu dài hay Apple sẽ chèn các void
phiên bản iOS 11 Beta sau này. Tôi tò mò vì nếu tôi bao gồm phần void
thân, Xcode sẽ phàn nàn về các bộ chọn phương pháp không khớp (điều này có ý nghĩa). Có ai đó đã gặp vấn đề tương tự cho đến nay?