Xcode 9を使用する場合、コンパイラの警告がいくつか表示されますThis function declaration is not a prototype
。void
メソッド本体に追加することを提案し、それを解決します。私が抱えている問題は、これらの警告がUIApplication
デリゲートメソッドのようなシステムAPIに対してもスローされることです。
- (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がメソッドセレクターの不一致(これは理にかなっています)について文句を言うので、私は興味があります。これまでに誰かが同じ問題を経験しましたか?