我正在尝试从我的应用程序向Web服务器发送一些数据。
应用程序应该做的是显示成员列表,在选择时显示其详细信息,并提供编辑其详细信息的功能。到目前为止,除了编辑之外的所有内容都有效。
我收到的错误消息是
由于未捕获的异常而终止应用 'NSInvalidArgumentException',原因:'data parameter is nil'
该应用程序正常工作直到
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
似乎responseData为null。我无法理解它,因为生成的url在输入浏览器时工作正常。
这是更新细节的完整代码
- (IBAction)submitEdits:(id)sender {
smdbs_AppData *appData = [smdbs_AppData sharedInstance];
NSString *loggedInID=appData.loggedInID;
NSString *member = [self.memberDetailModel objectAtIndex:3];
NSURL *urlLogin = [NSURL URLWithString:[NSString stringWithFormat:@"http://xxx/API.php?task=setMemberDetails&id=%@&mem_id=%@§ion=%@&firstName=%@&lastName=%@&membershipNo=%@&DOB=%@&gender=%@&school=%@&religion=%@ðnicity=%@&photoPerm=%@&swimPerm=%@&giftaid=%@&giftaidperson=%@&address1=%@&address2=%@&town=%@&county=%@&postCode=%@&homeTelNo=%@&mother=%@&motherMobile=%@&father=%@&fatherMobile=%@&other=%@&relationship=%@&otherTelNo=%@&email1=%@&email2=%@&doctor=%@&surgery=%@&docTelNo=%@&allergiesMed=%@&specialNeeds=%@&pack=%@&six=%@&joinedScouting=%@&joinedBeavers=%@&joinedCubs=%@&joinedScouts=%@&joinedYLs=%@&joinedHelpers=%@&joinedLeaders=%@&crbDate=%@&crbNo=%@", loggedInID, member, self.section.text, self.firstName.text, self.lastName.text, self.membershipNo.text, self.DOB.text, self.gender.text, self.school.text, self.religion.text, self.ethnicity.text, self.photoPerm.text, self.swimPerm.text, self.giftaid.text, self.giftaidperson.text, self.address1.text, self.address2.text, self.town.text, self.county.text, self.postCode.text, self.homeTelNo.text, self.mother.text, self.motherMobile.text, self.father.text, self.fatherMobile.text, self.other.text, self.relationship.text, self.otherTelNo.text, self.email1.text, self.email2.text, self.doctor.text, self.surgery.text, self.docTelNo.text, self.allergiesMed.text, self.specialNeeds.text, self.pack.text, self.six.text, self.joinedScouting.text, self.joinedBeavers.text, self.joinedCubs.text, self.joinedScouts.text, self.joinedYLs.text, self.joinedHelpers.text, self.joinedLeaders.text, self.crbDate.text, self.crbNo.text]];
dispatch_async(kBgQueue, ^{
NSData* editData = [NSData dataWithContentsOfURL:urlLogin];
[self performSelectorOnMainThread:@selector(EditData:)
withObject:editData waitUntilDone:YES];
});
}
- (void)EditData:(NSData *)responseData
{
NSError* error;
NSLog(@"%@",responseData);
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSString* success = [json objectForKey:@"success"];
if ([success isEqualToString:@"1"]) {
[self performSegueWithIdentifier:@"showMemberDetails" sender:nil];
}
}