เมื่อใช้ Xcode 9 This function declaration is not a prototype
มีบางคำเตือนคอมไพเลอร์กล่าวว่า แนะนำให้เพิ่มลงvoid
ในเนื้อความของวิธีการซึ่งจะแก้ไขได้ ปัญหาที่ฉันพบคือคำเตือนเหล่านั้นจะถูกส่งไปยัง system-API เช่นUIApplication
delegate-method:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)())completionHandler
สิ่งนี้สามารถแก้ไขได้ดังต่อไปนี้:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)(void))completionHandler
ตอนนี้ฉันสงสัยว่าวิธีการมอบสิทธิ์จะยังคงใช้งานได้ในระยะยาวหรือ Apple จะแทรกvoid
iOS 11 เวอร์ชันเบต้าในภายหลัง ฉันสงสัยเพราะถ้าฉันรวมvoid
เนื้อหา Xcode จะบ่นเกี่ยวกับตัวเลือกวิธีการที่ไม่ตรงกัน (ซึ่งสมเหตุสมผล) มีใครประสบปัญหาเดียวกันหรือไม่