0

URL から JSON 配列を取得し、それを使用してテーブル ビューにデータを入力する iOS アプリの一部として、次のコードがあります。何らかの理由で、リクエストが関数内で行われておらず、その理由がわかりません。以下に機能を示します。

PS - 私はこの Objective-C の初心者なので、明らかな間違いを犯した場合はご容赦ください。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.

    // Create a URL Request
    self.responseData = [NSMutableData data];
        NSURLRequest *request = [NSURLRequest requestWithURL:
    [NSURL URLWithString:@"http://mydomain.com/return_json_list"]];
    [[NSURLConnection alloc] initWithRequest:request delegate:self];

    self.viewController = [[BIDViewController alloc] initWithNibName:@"BIDViewController" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}
4

1 に答える 1

0

実際にリクエストを行うことはありません...または(同期) startで(非同期)を呼び出す必要があります。NSURLConnection+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error

後者は次の方法で実現できます。

self.responseData = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://mydomain.com/return_json_list"]];

これはメイン スレッドで発生するため、UI が影響を受けることに注意してください。

于 2013-02-26T21:56:19.700 に答える