Objective c 来自AppDelegate的UIViewController方法

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

这是我在stackoverflow.com上的第一个问题。 我试图从AppDelegate.m中的ViewController.m调用一个方法[-(void)alterTime]。是的,我在AppDelegate.h中导入了“ViewController.h”。将控制器导入AppDelegate.m没有任何区别。此外,“后台提取”处于启用状态

下面是我试图实现的AppDelegate.m中的代码:

- (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
属于
ViewController

Show
ViewController.h
Sheesh,我的疏忽将结束我的生命。我觉得很尴尬,因为没有看到我自己。非常感谢,非常感谢。这次我的疏忽真的让我失望了。一点问题也没有:)发生了