0

アプリから 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=%@&section=%@&firstName=%@&lastName=%@&membershipNo=%@&DOB=%@&gender=%@&school=%@&religion=%@&ethnicity=%@&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];
    }
}
4

0 に答える 0