2012-11-01 68 views
1

我有一個Objective C和RestKit的大問題。 在應用程序啓動時,我想單擊一個按鈕。 但是,如果我啓動後立即點擊按鈕,我的應用程序崩潰。 如果我等幾秒鐘,一切正常。RestKit iOS應用程序根據請求崩潰

任何想法? 這是我的代碼

- (void)sendRequest { 
// Perform a simple HTTP GET and call me back with the results 
[[RKClient sharedClient] get:@"/user" delegate:self]; 
} 

- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response { 
    if ([response isSuccessful]) { 
    NSLog(@"HTTP status code:  %d", response.statusCode); 
    NSLog(@"HTTP status message: %@", [response localizedStatusCodeString]); 
    } 
} 

客戶端將在德「的AppDelegate」啓動

RKClient *client = [RKClient clientWithBaseURLString:@"http://192.168.0.6:8080"]; 
[client setPassword:@"user"]; 
[client setUsername:@"user"]; 
[client setAuthenticationType:RKRequestAuthenticationTypeHTTPBasic]; 
client.requestQueue.showsNetworkActivityIndicatorWhenBusy = YES; 

後,我按下按鈕「sendRequest將」了Methode將被調用後創建。

對不起,我的英語不太好。 我希望你能理解我的問題。

+0

什麼解決這個問題; S錯誤? – Ravi

+0

調試器輸出是:(lldb) 它跳轉到RKResponse.m - if([[_request delegate] respondsToSelector:@selector(request:didReceiveResponse :)]){ - 並且說「線程1:EXC_BAD_ACCESS(code = 1,地址= 0xc0000008) – Eddi

回答

3

我有exectly同樣的問題.. 能夠與塊

NSURL *baseURL = [[NSURL alloc] initWithString:@"http://your.api.com"]; 
RKClient *client = [RKClient clientWithBaseURL:baseURL]; 

RKRequest *request = [client get:@"/method/name" queryParameters:nil delegate:nil]; 
request.onDidLoadResponse = ^(RKResponse *response) { 
    NSLog(@"%@", [response bodyAsString]); 
};