OC的编译器在编译后会在每个方法中加两个隐藏的参数:
一个是_cmd,当前方法的一个SEL指针。
一个是self,指向当前对象的一个指针。
demo:
//应用程序退出后执行代码
- (void)applicationWillTerminate:(UIApplication *)application
{
NSLog(@"程序退出后执行");
NSArray *modules = [[ModuleManager sharedInstance] allModules];
for (id<ModuleProtocol> module in modules) {
if ([module respondsToSelector:_cmd]) {
[module applicationWillTerminate:application];
}
}
[[NSUserDefaults standardUserDefaults] synchronize];
}
时间: 2024-11-06 08:44:39