Objective-C: Extremadamente extraño y molesto problema de la cuerda
-
16-10-2019 - |
Pregunta
He estado trabajando en un programa de tableview y tengo una función que procesa varios datos de preferencias del usuario, y los datos básicos. el programa analiza estas cosas y devuelve una dirección URL. aquí está el código:
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;
Todo funciona muy bien, no tengo ningún problema en la recuperación de datos. Pero cuando ejecuto el código, me sale este registro de salida:
// 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 0,2011% 2022: 00 y tarih1 = 21.01.2011% 2011: 00 y salesType = Hepsi
tiene que ser
// server.dyndns.org/webservices/service1.asmx/getHourlySales2?tarih2=20.01.2011%2016:00&tarih1=19.01.2011%2016:00&salesType=Hepsi
Pero extrañamente el programa añade
/webservices/service1.asmx/getHourlySales2?tarih2=21.01.2011%2022:00&tarih1=21.01.2011%2011:00&salesType=Hepsi
por sí mismo después de que el procesamiento normal.
También otra cosa importante es que el código se ejecuta normalmente cuando quito
NSString *serverAdress = [prefs stringForKey:@"serverAdress"]
desde el código y entrar en serveradress manualmente.
Plase ayuda, todo en el programa funciona bien, pero im pegado con este problema.
Gracias por ayudarnos.
Solución
Así que lo que está en serverAdress antes se agrega a urlString. Parece como si serverAdress contiene '//server.dyndns.org/webservices/service1.asmx/getHourlySales2?tarih2=20.01.2011%2016:00&tarih1=19.01.2011%2016:00&salesType=Hepsi'