ios - Combina dos cuerdas en diferentes idiomas RTL y LTR
nsstring localized (2)
Estoy bastante seguro de que el problema aquí es que la fecha hebrea en strDate está llevando caracteres Unicode que hacen que se muestre de derecha a izquierda. Eso está causando el caos cuando se combina con la cadena "normal" de izquierda a derecha en timeForResponse. El formateador de fecha está recogiendo eso de la configuración regional hebrea.
Prueba esto:
- Cambia tu cadena de formato de fecha a
[dateFormatter setDateFormat:@"dd.MM.yyyy,EEEE"];
- Cambia tu cadena con formato a
NSString *result = [NSString stringWithFormat:@"/u200E%@ | %@", timeForRequest, strDate];
El carácter Unicode 0x200E es invisible pero vuelve a colocar el renderizado en modo de izquierda a derecha.
Después de lo anterior, esta es la salida que estoy obteniendo:
07: 00-16: 00 | 17.08.2016,יום רביעי
Tengo dos textos, uno en hebreo y otro en inglés.
En el primer texto tengo fecha que está en hebreo.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *hebrew = [[NSLocale alloc] initWithLocaleIdentifier:@"he_IL"]; // Hebrew
[dateFormatter setDateFormat:@"yyyy-MM-dd''T''hh:mm:ss.SSSZ"];
NSDate *date = [dateFormatter dateFromString:model.startDate];
NSLog(@"%@", date);
[dateFormatter setDateFormat:@"EEEE,dd.MM.yyyy"];
dateFormatter.locale = hebrew;
NSString *strDate = [dateFormatter stringFromDate:date];
y la fecha de inicio es: יום ישי, 19.08.2016 en el objeto NString strDate
Por otro lado, tengo texto 07: 00-16: 00 en el objeto NSString timeForRequest
Mi formato necesario es יום שני, 15.01.2016 | 16:00 - 07:00
Y cuando trato de hacer lo mismo con el siguiente código.
[NSString stringWithFormat:@"%@ | %@",strDate,timeForRequest]
me muestra así: יום שישי, 19.08.2016 | 07: 00-16: 00
Observe que el tiempo no es el correcto, ayúdeme a salir de esta situación cableada.
Gracias por adelantado.
Solo tuve que cambiar de Depuración a Liberar e Instalar la versión .exe, ahora ambos servicios se ejecutan y funcionan sin ningún problema.