Преобразование двух двойных значений в строку и затем создание строки с использованием новых строк
Я пытаюсь преобразовать два значения в строку, а затем создать новую строку, содержащую те, которые я сделал ранее, чтобы мой сервис мог их принять.
NSString *string1 = [ NSString stringWithFormat:@"%f", locationController.dblLatitude];
NSString *string2 = [ NSString stringWithFormat:@"%f", locationController.dblLongitude];
body = [[NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2] dataUsingEncoding:NSUTF8StringEncoding];
Это код, который я использую банкомат. Проблема в том, что и string1, и string2 выглядят нормально, но строка с именем body не работает..:<Любая помощь?
3 ответа
body
это не NSString
пример здесь, но NSData
(потому что вы используете `dataUsingEncoding:". Если вы хотите увидеть объединение строк в системном журнале, вы должны написать что-то вроде этого:
NSString* bodyString = [NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2];
NSData* bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
и тогда ты сможешь NSLog(@"Body: %@", bodyString);
чтобы увидеть его содержимое, а затем использовать bodyData
для выполнения http запроса.
body
это не NSString
; это NSData
из-за вашего звонка dataUsingEncoding
,
Я считаю, что это происходит потому, что вы просто регистрируете необработанные данные. Попробуйте создать строку из данных и затем зарегистрировать ее следующим образом:
body = [[NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2] dataUsingEncoding:NSUTF8StringEncoding];
NSString *string = [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);