Objective c 启动时重新加载内容

Objective c 启动时重新加载内容,objective-c,ios,xcode,Objective C,Ios,Xcode,几天来,我一直在努力了解如何在应用程序启动后立即执行操作 基本上,我想从我的网站下载一个plist,如果用户打开一个开关来确定他是否想在启动时下载新内容 重点是: “A”类具有重新加载内容的方法 “B”类有一个开关,如果打开该开关,它会告诉委托在应用程序启动时立即执行重载内容方法 现在,如果类“B”的开关打开,我不知道如何告诉AppDelegate运行类“A”的方法。显然,我需要使用NSUserDefaults,但从那以后我就不知所措了 有人能把事情说清楚吗?或者,有没有更舒适的解决方法?这

几天来,我一直在努力了解如何在应用程序启动后立即执行操作

基本上,我想从我的网站下载一个plist,如果用户打开一个开关来确定他是否想在启动时下载新内容

重点是:

  • “A”类具有重新加载内容的方法
  • “B”类有一个开关,如果打开该开关,它会告诉委托在应用程序启动时立即执行重载内容方法
现在,如果类“B”的开关打开,我不知道如何告诉AppDelegate运行类“A”的方法。显然,我需要使用
NSUserDefaults
,但从那以后我就不知所措了


有人能把事情说清楚吗?或者,有没有更舒适的解决方法?

这里有一篇文章可以帮助您了解应用程序启动期间的流程:

此外,请查看此帖子:

是,您可以使用NSUserDefaults执行此操作

在你的b班

-(void)swithChanged
 {
   NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    //check if !null
   if(![[defaults objectForKey:@"shouldDownload"]isKindOfClass:[NSNull class]]){
         if([(NSNumber*)[defaults objectForKey:@"shouldDownload"]boolValue])
          {
             [defaults setObject:[NSNumber numberWithInt:0] forKey:@"shouldDownload"];
             [defaults synchronize];
          }else{
             [defaults setObject:[NSNumber numberWithInt:1] forKey:@"shouldDownload"];
             [defaults synchronize];

         }
     }else{
       //set your NSUserDefault here for the first time
    }

}
在AppDelegate中

- (void)applicationDidBecomeActive:(UIApplication *)application{
   NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    //check if !null
   if(![[defaults objectForKey:@"shouldDownload"]isKindOfClass:[NSNull class]]){
         if([(NSNumber*)[defaults objectForKey:@"shouldDownload"]boolValue])
          { 
              //you can write the downloadData method in this appDelegate,
             //[self downloadData]

             //OR
             AClass *aClass = [AClass alloc]init];
             [aClass downloadData];
          }else{
            //do not download
         }
     }else{
       //the default behaviour of app, download or not?
    }

}

谢谢你的回答!只是一个问题:在AppDelegate中,当您编写[self downloadData]时,我应该初始化我的“a”类,然后执行该方法,对吗!?