iOS 5: сделать категорию NSString включающей NSCFConstantString?
у меня естьNSString
категория класс (NSString+URLEncoding.h
).
I am running into and unknown selector crash, because the string I am calling the category method has been optimized into an NSCFConstantString
iOS.
-[__NSCFConstantString URLEncodedString]: unrecognized selector sent to instance 0x290174
Я узнал оNSCFConstantString
противNSCFString
оптимизации в iOS 5 из:
http://www.cocoanetics.com/2012/03/beware-of-nsstring-optimizations/
Кто-нибудь знает, как я могу заставить категорию NSString включать строки констант или даже заставить переменную бытьNSString/NSCFString
и неNSCFConstantString
?
Ура, Z
-редактировать-
Linker flags-ObjC -all_load
are both already implemented
NSString+URLEncoding.m is included in the targets compile sources
NSString+URLEncoding.m implements the URLEncodedString method.
Checked for zombies.
Я добавляю сервис обмена в ShareKit 2.0
заголовок:
@interface NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString;
реализация:
@implementation NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString
{
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)self,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8);
[result autorelease];
return result;
}