3

次のようなリクエストで、リクエストを作成できません(不正なURLですか?)というエラーメッセージが表示されます。


- (void)grabURLInBackground :(id)sender 
{
    NSURL *url= [NSURL URLWithString:@"http://api.website.com/api_requests/standard_request/getItemRequest={\"Id\":\"Logic\"}"];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request addRequestHeader:@"X-WEBSITE-API-DEV-NAME" value:@"cghjm"];
        [request setDelegate:self];
    [request startAsynchronous];
}


- (void)requestFinished:(ASIHTTPRequest *)request
{
   // Use when fetching text data
   NSString *responseString = [request responseString];
   NSLog(responseString);
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
   NSError *error = [request error];
    NSLog(@"%@:%s Error: %@", [self class], _cmd, [error localizedDescription]);
}

私はObjective-Cの「非常に」新しいものです...

ありがとう

-ブラッド

4

1 に答える 1

4

リクエストを to に設定した行を変更-startAsynchronous-startSynchronousて削除します。非同期とは、バックグラウンドで実行されることを意味します。この場合、デリゲート メソッドを使用する必要があります。すべてを 1 つのメソッドにまとめたので、同期リクエストを使用します。delegateself

編集

次のように URL を初期化します。

[NSURL URLwithString: [@"http://..." stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding]]
于 2010-09-18T20:48:01.313 に答える