Преобразование двух двойных значений в строку и затем создание строки с использованием новых строк

Я пытаюсь преобразовать два значения в строку, а затем создать новую строку, содержащую те, которые я сделал ранее, чтобы мой сервис мог их принять.

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);
Другие вопросы по тегам