Error en la condición de punto de interrupción

He establecido un punto de interrupción con la condición …

[event.name isEqualToString:@"Some Name"] 

Esto funciona bien.

Sin embargo, cuando trato de agregar otro breakpoint con la condición …

 [part.name isEqualToString:@"Some Value With A Pound Sign £"] 

Me sale el error …

 Internal error [IRForTarget]: An Objective-C constant string's string initializer is not an array Stopped due to an error evaluating condition of breakpoint 

¿Necesito escaping del letrero o algo así?

Hay un error con el analizador de expresiones y un literal NSString que contiene caracteres que no son ASCII.

 (lldb) po @"u" $9 = 0x00007fff7debe5e0 u (lldb) po @"ü" Internal error [IRForTarget]: An Objective-C constant string's string initializer is not an array error: warning: expression result unused error: The expression could not be prepanetworking to run in the target 

Ya hay un error reportado archivado en http://bugreport.apple.com/ sobre este problema.

Los literales de cadena C no ASCII se manejan correctamente, por lo que es posible trabajar alnetworkingedor de esto, por ejemplo

 (lldb) po [NSString stringWithUTF8String:"ü"] $11 = 0x000000010010b040 ü 

No sé por qué los puntos de corte todavía tienen un soporte de comstackdores tan limitado, pero de todos modos, para solucionar su problema, debería ser suficiente para emitir el tipo de retorno de cada método que llame así:

 (BOOL)[(NSString *)[part name] isEqualToString:@"some string"] 

Con esto, su código debería detenerse si la cadena no contiene el símbolo '£' ni ningún otro carácter que no sea ASCII. Como parece que el comstackdor LLDB tiene problemas con caracteres que no son ASCII, es posible que desee convertir las cadenas primero usando esa encoding. Mientras tanto, estoy buscando una forma de evitar esto si es posible …