2011-01-21 2 views
1

Я работал над программой 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, все в программе отлично работает, но я не застрял в этой проблеме.

Спасибо за помощь.

+1

Have вы проверили wether '[prefs stringForKey: @" serverAdress "]' дает вам то, что вы ожидаете? –

+0

Попробуйте положить «NSLog» для serverAdress и посмотреть, что он вам дает. Будет ли адрес сервера изменяться где-нибудь в вашей программе? Если нет, я просто перекодирую его как строку вместо того, чтобы возиться с 'NSUserDefaults'. О, и, кстати, это не имеет значения для smidgeon, но вы можете записать его «serverAddress». :) –

+0

LOL Проблема решена [prefs stringForKey: @ "serverAdress"] было установлено неверное значение. Я не могу поверить, что я пропустил это! – dreampowder

ответ

0

Итак, что находится в serverAdress до вы добавляете его в urlString. Выглядит, как будто serverAdress содержит '//server.dyndns.org/webservices/service1.asmx/getHourlySales2?tarih2=20.01.2011%2016:00 & tarih1 = 19.01.2011% 2016: 00 & salesType = Hepsi'

+0

Thanx для помощи, выглядит как [prefs stringForKey: @ "serverAdress"] установлено неверное значение. похоже, что я немного устал, чтобы NSLog значение serverAdress. – dreampowder