iOS 5: NSString-Kategorie NSCFConstantString einschließen lassen?

ich habe einNSString Kategorie Klasse (NSString+URLEncoding.h). Ich stoße auf einen unbekannten Selektorabsturz, weil die Zeichenfolge, die ich als Kategoriemethode bezeichne, in eine optimiert wurdeNSCFConstantString von iOS.

-[__NSCFConstantString URLEncodedString]: unrecognized selector sent to instance 0x290174

Ich habe von dem gelerntNSCFConstantString gegenNSCFString Optimierungen in iOS 5 von:http://www.cocoanetics.com/2012/03/beware-of-nsstring-optimizations/

Weiß jemand, wie ich die NSString-Kategorie dazu bringen kann, die Konstanten-Zeichenfolgen einzuschließen, oder sogar die Var zu erzwingen, eine zu sein?NSString/NSCFString und nicht einNSCFConstantString?

Prost, Z

-bearbeiten-

Linker-Flags-ObjC -all_load sind beide bereits implementiertNSString + URLEncoding.m ist in den Kompilierungsquellen des Ziels enthaltenNSString + URLEncoding.m implementiert die URLEncodedString-Methode.Auf Zombies überprüft.

Ich füge ShareKit 2.0 einen Freigabedienst hinzu

Header:

@interface NSString (OAURLEncodingAdditions)

- (NSString *)URLEncodedString;

Implementierung:

@implementation NSString (OAURLEncodingAdditions)

- (NSString *)URLEncodedString 
{
    NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                                           (CFStringRef)self,
                                                                           NULL,
                                                                           CFSTR("!*'();:@&=+$,/?%#[]"),
                                                                           kCFStringEncodingUTF8);
    [result autorelease];
    return result;
}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage