我正在尝试在启动时获取JSON
,并希望使用JSON作为资源。
我在didFinishLaunchingWithOptions
发出请求,请求如下:
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);
}
它运行良好,但我希望将data
从MyAppDelegate传递到myViewController
。因此,我将使用UILabel
的数据。
我到底该怎么办?在AppDelegate
中提出请求是错误的吗?
任何帮助都会很棒。
答案 0 :(得分:4)
首先:在app-delegate中提出请求不是很好的解决方案。您应该在后台运行一些启动任务,这样您就可以向用户显示一些微调器。 第二:你可以在appDelegate中存储NSString变量并为它创建getter(属性)。因此,您可以使用
访问您的App Delegate实体[[UIApplication sharedApplication] delegate];
第三:您可以通过UIViewController自定义构造函数或使用属性来设置它。