Lorsque vous utilisez Xcode 9, certains avertissements du compilateur indiquent This function declaration is not a prototype. Il suggère d'ajouter voidau corps de la méthode, ce qui le résoudra. Le problème que je rencontre est que ces avertissements sont également lancés pour les API système comme les UIApplicationméthodes de délégation:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)())completionHandler
Cela pourrait être résolu par ce qui suit:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)(void))completionHandler
Maintenant, je me demande si les méthodes de délégué fonctionneront toujours à long terme ou si Apple insérera les voidversions ultérieures d'iOS 11 Beta. Je suis curieux parce que si j'inclus le voidcorps, Xcode se plaindra de l'inadéquation des sélecteurs de méthode (ce qui a du sens). Quelqu'un a-t-il rencontré le même problème jusqu'à présent?
