iOS 5: ¿La categoría NSString incluye NSCFConstantString?
Yo tengo unNSString
categoría de categoría (NSString+URLEncoding.h
). Me estoy topando con un bloqueo de selector desconocido, porque la cadena a la que llamo método de categoría se ha optimizado en unNSCFConstantString
por iOS.
-[__NSCFConstantString URLEncodedString]: unrecognized selector sent to instance 0x290174
Me enteré de laNSCFConstantString
contraNSCFString
Optimizaciones en iOS 5 desde:http://www.cocoanetics.com/2012/03/beware-of-nsstring-optimizations/
¿Alguien sabe cómo puedo conseguir que la categoría NSString incluya las cadenas Constantes o incluso fuerce a la var para que sea unaNSString/NSCFString
y no unNSCFConstantString
?
Saludos, Z
-editar-
Banderas vinculadoras-ObjC -all_load
ambos ya están implementadosNSString + URLEncoding.m se incluye en los orígenes de compilación de destinosNSString + URLEncoding.m implementa el método URLEncodedString.Comprobado por zombies.Estoy agregando un servicio compartido a ShareKit 2.0
encabezamiento:
@interface NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString;
implementación:
@implementation NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString
{
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)self,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8);
[result autorelease];
return result;
}