0
我試着從PHP文件發送和檢索數據的不同代碼,我仍然無法正確地得到結果 到目前爲止,我得到的檢索結果顯示在輸出調試器(以json格式),但不在Xcode模擬器中。好像我錯過了一些東西!從Xcode的php文件檢索數據
- (void) retrieveData
{
NSString * jack=[GlobalVar sharedGlobalVar].gUserName;
NSLog(@"global variable %@", jack);
NSString *rawStr = [NSString stringWithFormat:@"StudentID=%@",jack];
NSData *data = [rawStr dataUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:@"http://m-macbook-pro.local/studentCourses.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:data];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSLog(@"responseData: %@", responseData);
jsonArray=[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
// Search for the array parameter that should be added
coursesArray=[[NSMutableArray alloc] init];
//set up our cities array
NSString *strResult = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"me: %@", strResult);
//loop through our json array
for (int i = 0 ; i <coursesArray.count; i++)
{
NSString * cName = [[coursesArray objectAtIndex:i] objectForKey:@"CourseName"];
//Add the City object to our cities array
[coursesArray addObject:[[Course alloc]initWithCourseName:cName]];
}
//Reload our table view
[self.tableView reloadData];
}
在PHP文件
echo json_encode($records);
感謝您的幫助,它解決了這個問題。但是,我可以問一下你的意思是「會阻止用戶界面」嗎? .. 因爲現在我們對另一個導航控制器使用相同的代碼,並且顯示錯誤(線程1:信號SIGABRT),請問同步請求是否會導致此類問題? – mimi12
這意味着您的用戶界面在主線程上處理。如果您在主線程上執行Web請求,則用戶界面將凍結,直到請求完成加載。我不能說不知道它會導致你的崩潰。如果你無法弄清楚,我會建議發佈一個單獨的問題來解決它。 – digitalHound