Я работал над программой tableview, и у меня есть функция, которая обрабатывает несколько данных из пользовательских настроек и основных данных. программа анализирует эти вещи и возвращает URL-адрес. heres код:Цель-c: Чрезвычайно Странная и раздражающая проблема строки
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *serverAdress = [prefs stringForKey:@"serverAdress"];
serverAdress = [serverAdress stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd.MM.yyyy"];
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
[dateFormatter2 setDateFormat:@"dd.MM.yyyy HH:mm"];
NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
NSString *dateTimeString = [NSString stringWithFormat:@"%@ %@",dateString,[dashboardParameters attribute1]];
NSTimeInterval dayInterval = [[dashboardParameters attribute2] intValue]*60*60*(-1);
NSDate *date2 = [[dateFormatter2 dateFromString:dateTimeString] addTimeInterval:dayInterval];
NSString *urlString =
[NSMutableString stringWithFormat:@"%@/webservices/service1.asmx/getHourlySales2?tarih2=%@&tarih1=%@&salesType=%@",
serverAdress,
dateTimeString,
[dateFormatter2 stringFromDate:date2],
[dashboardParameters itemOrder]
];
urlString = [urlString stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
return urlString;
Все отлично работает, у меня нет проблем с получением данных. Но когда я выполнить код, я получаю этот выход журнала:
//server.dyndns.org/webservices/service1.asmx/getHourlySales2?tarih2=20.01.2011%2016:00 & tarih1 = 19.01.2011 % 2016: 00 & salesType = Hepsi/WebServices/service1.asmx/getHourlySales2 tarih2 = 21.01.2011% 2022: 00 & tarih1 = 21.01.2011% 2011: 00 & salesType = Hepsi
он должен быть
//server.dyndns.org/web Услуги/service1.asmx/getHourlySales2 tarih2 = 20.01.2011% 2016: 00 & tarih1 = 19.01.2011% 2016: 00 & salesType = Hepsi
Но странно программа добавляет
/WebServices /service1.asmx/getHourlySales2?tarih2=21.01.2011%2022:00 & tarih1 = 21.01.2011% 2011: 00 & salesType = Hepsi
сам по себе после обычной обработки.
Также еще одна важная вещь, код работает нормально, когда я удалить
NSString *serverAdress = [prefs stringForKey:@"serverAdress"]
из кода и введите serveradress вручную.
Plase help, все в программе отлично работает, но я не застрял в этой проблеме.
Спасибо за помощь.
Have вы проверили wether '[prefs stringForKey: @" serverAdress "]' дает вам то, что вы ожидаете? –
Попробуйте положить «NSLog» для serverAdress и посмотреть, что он вам дает. Будет ли адрес сервера изменяться где-нибудь в вашей программе? Если нет, я просто перекодирую его как строку вместо того, чтобы возиться с 'NSUserDefaults'. О, и, кстати, это не имеет значения для smidgeon, но вы можете записать его «serverAddress». :) –
LOL Проблема решена [prefs stringForKey: @ "serverAdress"] было установлено неверное значение. Я не могу поверить, что я пропустил это! – dreampowder