NSString вызвало EXC_BAD_ACCESS, слишком длинная строка? - PullRequest
0 голосов
/ 12 апреля 2011

Когда мое приложение достигает этого, я получаю EXC_BAD_ACCESS

NSString *nameData = nameTextField.text;
NSString *emailData= emailTextField.text;
NSString *phoneData = phoneTextField.text;
NSString *serviceData =    serviceTextView.text;

NSString *post = [NSString stringWithFormat:@"email_address=&contents=&form_identifier=538b7271-df83-41f5-84b0-db0fed518ade&form_type=1&empty_form_msg=Please%20fill%20in%20something%20before%20submitting.&1_1_10_40_First%2BName=%@&2_1_20_30_Last%2BName=&3_1_25_25_Company=&4_1_30_999_Email=%@&5_1_40_10_Phone=%@&6_1_50_0_Address%2B1=&7_1_60_-10_Address%2B2=&8_1_70_-20_City=&9_3_80_-30_County=&10_3_90_-40_Postcode=&11_2_100_-50_Comments=%@&submit=Send",nameData,emailData,phoneData,serviceData];

Это потому, что данные в этой строке слишком длинные?

1 Ответ

6 голосов
/ 12 апреля 2011

Я подозреваю, что stringWithFormat интерпретирует (некоторые из?) Символы % как элементы формата, так что интерпретируется более 4 аргументов. (например, %20f будет принимать аргумент с плавающей точкой)

Попробуйте заменить все литералы % (т.е. все, кроме %@) на %%. Спецификаторы формата строки суммирует весь формат, поддерживаемый NSString.

...