iOS 5: Faça a categoria NSString incluir NSCFConstantString?
eu tenho umNSString
classe de categoria (NSString+URLEncoding.h
). Eu estou correndo e acidente do seletor desconhecido, porque a string que eu estou chamando o método de categoria foi otimizado em umNSCFConstantString
pelo iOS.
-[__NSCFConstantString URLEncodedString]: unrecognized selector sent to instance 0x290174
Eu aprendi doNSCFConstantString
vs.NSCFString
otimizações no iOS 5 de:http://www.cocoanetics.com/2012/03/beware-of-nsstring-optimizations/
Alguém está ciente de como eu posso obter a categoria NSString para incluir as seqüências de caracteres constantes ou mesmo forçar o var para ser umNSString/NSCFString
e não umNSCFConstantString
?
Felicidades, Z
-editar-
Sinalizadores de linker-ObjC -all_load
ambos já estão implementadosNSString + URLEncoding.m está incluído nas fontes de compilação de destinosNSString + URLEncoding.m implementa o método URLEncodedString.Verificado por zumbis.Estou adicionando um serviço de compartilhamento ao ShareKit 2.0
cabeçalho:
@interface NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString;
implementação:
@implementation NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString
{
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)self,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8);
[result autorelease];
return result;
}