Quando si utilizza Xcode 9, ci sono alcuni avvisi del compilatore che dicono This function declaration is not a prototype
. Suggerisce di aggiungere void
al corpo del metodo, che lo risolverà. Il problema che sto riscontrando è che questi avvisi vengono generati anche per i UIApplication
metodi delegati simili alle API di sistema :
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)())completionHandler
Questo potrebbe essere risolto come segue:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)(void))completionHandler
Ora mi chiedo se i metodi delegati funzioneranno ancora a lungo termine o Apple inserirà le void
versioni successive di iOS 11 Beta. Sono curioso perché se includo il void
corpo, Xcode si lamenterà dei selettori di metodo non corrispondenti (il che ha senso). Qualcuno ha riscontrato lo stesso problema finora?