iOS 5: Make NSString Category to NSCFConstantString?
mamNSString
klasa kategorii (NSString+URLEncoding.h
). Jestem uruchomiony i nieznany błąd selektora, ponieważ ciąg, który nazywam metodą kategorii, został zoptymalizowany do postaciNSCFConstantString
przez iOS.
-[__NSCFConstantString URLEncodedString]: unrecognized selector sent to instance 0x290174
Dowiedziałem się oNSCFConstantString
vs.NSCFString
optymalizacje w iOS 5 z:http://www.cocoanetics.com/2012/03/beware-of-nsstring-optimizations/
Czy ktoś zdaje sobie sprawę z tego, jak mogę uzyskać kategorię NSString, aby dołączyć ciągi Constant, a nawet zmusić var do byciaNSString/NSCFString
a nieNSCFConstantString
?
Pozdrawiam, Z
-edytować-
Flagi linkera-ObjC -all_load
są już wdrożoneNSString + URLEncoding.m znajduje się w źródłach kompilacji celówNSString + URLEncoding.m implementuje metodę URLEncodedString.Sprawdzone na zombie.Dodaję usługę udostępniania do ShareKit 2.0
nagłówek:
@interface NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString;
realizacja:
@implementation NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString
{
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)self,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8);
[result autorelease];
return result;
}