将数据从AppDelegate传递到iOS中的视图

将数据从AppDelegate传递到iOS中的视图,ios,Ios,我试图在启动期间获取一个JSON,并希望使用JSON作为资源 我在didfishlaunchingwithoptions中发出请求,请求如下所示: NSString *urlAsString = @"myurl"; NSURL *url = [NSURL URLWithString:urlAsString]; NSURLRequest *urlRequest = [NSURLRequest requestWithURL: url]; NSURLResponse *response = nil;

我试图在启动期间获取一个
JSON
,并希望使用JSON作为资源

我在
didfishlaunchingwithoptions
中发出请求,请求如下所示:

NSString *urlAsString = @"myurl";
NSURL *url = [NSURL URLWithString:urlAsString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL: url];

NSURLResponse *response = nil;
NSError *error = nil;

NSData *data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
if ([data length] > 0 && error == nil) {
    NSString* responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"Data is okay. Size: %lu and result: %@", (unsigned long)[data length], responseString);
}
它工作正常,但我想将数据从MyAppDelegate传递到myViewController。因此,我将使用带有
UILabel
的数据

我到底该怎么办?在
AppDelegate
中发出请求是否错误


任何帮助都很好。

首先:在应用程序中发出请求并不是一个好的解决方案。您应该在后台执行一些启动任务,以便能够向用户显示一些微调器。 第二:可以将NSString变量存储在appDelegate中,并为其创建getter(属性)。因此,您可以使用访问应用程序代理实体

[[UIApplication sharedApplication] delegate];

第三:您可以通过UIViewController自定义构造函数或使用属性进行设置。

明白了,非常感谢。我想通过这种方式同步连接会阻塞当前线程,因此不允许使用微调器。那个么你们能举一些关于启动任务的例子吗?那是普通的名字吗?我到处找了找,找不到合适的答案。再次感谢您。我的意思是,您可以创建自己的对象,在后台发出请求,并从应用程序委托类初始化此对象,然后等待此对象的回调。因此,您可以冻结应用程序,直到此任务未完成。