Я преобразовываю данные (с веб-страницы) в строку). Основной код работает (но там было какое-то незначительное изменение - возможно, на сервере)."Invalid" iphone string
NSLog показывает ожидаемую строку (возможно, 1000 символов). Однако, когда я плаваю над responseString, он показывает «Недопустимый». Хуже того, разбор с компонентамиSeparatedByCharactersInSet не работает.
Идеи?
NSString *responseString;
responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
NSLog([NSString stringWithFormat:@"responsestring ='%@'",responseString]);
if ([responseString compare:@""] != NSOrderedSame) {
lines = [responseString componentsSeparatedByCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@";"]];
Просто обратите внимание, что вы можете использовать equalsTo: вместо сравнения: сравнить строки. Тогда вам не нужно приравнивать его к NSOrderedSame. – rein
повод - спасибо за наконечник. Пошел с isEqual. – BankStrong
Кроме того, вашему NSLog не нужно иметь материал stringWithFormat. На самом деле это было бы плохо. NSLog (@ "responseString = '% @'", responseString) будет делать то, что вы хотите, поскольку оно автоматически имеет форматирование. (Причина, по которой это плохо, заключается в том, что responseString, если он имеет% в нем, может привести к сбою, поскольку вы могли бы проходить в @ "responseString = 'Некоторое случайное значение с% в нем" – AlBlue