Objective c 来自AppDelegate的UIViewController方法
这是我在stackoverflow.com上的第一个问题。 我试图从AppDelegate.m中的ViewController.m调用一个方法[-(void)alterTime]。是的,我在AppDelegate.h中导入了“ViewController.h”。将控制器导入AppDelegate.m没有任何区别。此外,“后台提取”处于启用状态 下面是我试图实现的AppDelegate.m中的代码:Objective c 来自AppDelegate的UIViewController方法,objective-c,methods,uiviewcontroller,appdelegate,Objective C,Methods,Uiviewcontroller,Appdelegate,这是我在stackoverflow.com上的第一个问题。 我试图从AppDelegate.m中的ViewController.m调用一个方法[-(void)alterTime]。是的,我在AppDelegate.h中导入了“ViewController.h”。将控制器导入AppDelegate.m没有任何区别。此外,“后台提取”处于启用状态 下面是我试图实现的AppDelegate.m中的代码: - (void)application:(UIApplication *)application
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
{
NSLog(@"Current Time Altered");
//Get current view controller
ViewController *mainViewController = (ViewController *)self.window.rootViewController;
[mainViewController alterTime];
//Cleanup
completionHandler(UIBackgroundFetchResultNewData);
}
这是一段给我带来问题的代码:
[mainViewController alterTime];
它声明:“没有可见的@interface for'ViewController'声明选择器'alterTime'。在ViewController.h
文件中声明-(void)alterTime
@interface ViewController : UIViewController
- (void)alterTime;
@end
因此,该错误意味着它无法在类
ViewController
中找到方法名称(选择器)
确保在ViewController
标题中声明了alterTime
方法,有效地将其公开
如果没有问题,请再次检查以确保您的
rootViewController
属于ViewControllerShowViewController.h
Sheesh,我的疏忽将结束我的生命。我觉得很尴尬,因为没有看到我自己。非常感谢,非常感谢。这次我的疏忽真的让我失望了。一点问题也没有:)发生了