0

我正在将数据从 iphone 应用程序发送到服务器,但是当它读取字符串后它在应用程序中崩溃并且不前进

-(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

您已通过以下方式创建了一个字符串:

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 回答