0

iPhone アプリケーションからサーバーにデータを送信していますが、post String を読み取ると、アプリケーションでクラッシュし、先に進みません

-(void)submitSurveyAnswers{


  NSString*survey_question_response_id="1";
  NSString*survey_id=@"1";

  NSString *question_id =@"1";
  NSString *survey_response_answer_id =@"1";
  NSString *post =[[NSString alloc] initWithFormat:@"survey_question_response_id=%@&survey_id=%@&question_id=%@&survey_response_answer_id=%@",survey_question_response_id,survey_id,question_id,survey_response_answer_id];
  NSLog(post);
  NSURL *url=[NSURL URLWithString:@"http://myserver-solutions.com/app/surveyAnswer.php?"];

  NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

 NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];


 NSError *error;
 NSURLResponse *response;
 NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

 NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
 NSLog(@"%@",data);

}
4

2 に答える 2

1

以下の方法で 1 つの文字列を作成しました。

NSString*survey_question_response_id="1"; //Missing '@' while initializing string

以下のように作成する必要があります。

NSString*survey_question_response_id=@"1"; //Added '@' while initializing string
于 2012-08-03T06:41:21.890 に答える
0
NSString*survey_question_response_id="1";

間違っている。単純な二重引用符で囲まれた文字列は C 文字列 (0 で終わる文字ポインター) であり、有効な NSString インスタンスではありません。1. デバッガの使い方を学ぶ 2. 書く

NSString *survey_question_response_id = @"1";

代わりは。

于 2012-08-03T06:43:30.313 に答える