私はNSString
カテゴリクラス(NSString+URLEncoding.h
)を持っています。 カテゴリメソッドを呼び出す文字列がiOSによってNSCFConstantString
に最適化されているため、不明なセレクタクラッシュが発生しています。私はからのiOS 5でNSCFConstantString
対NSCFString
の最適化を知ったiOS 5:Make NSString CategoryにはNSCFConstantStringが含まれていますか?
-[__NSCFConstantString URLEncodedString]: unrecognized selector sent to instance 0x290174
: http://www.cocoanetics.com/2012/03/beware-of-nsstring-optimizations/
は、私は定数文字列が含まれるようにNSStringのカテゴリを取得したりさえするVARを強制する方法を知って誰ですNSString/NSCFString
で、NSCFConstantString
ではありませんか?
乾杯、 Z
-edit-
- リンカーフラグ
-ObjC -all_load
は既に - NSStringの+ URLEncoding.mがターゲットに含まれて実装されている両方のソース
- NSStringの+ URLエンコードをコンパイル。 mはURLEncodedStringメソッドを実装します。
- ゾンビを確認しました。
Iは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;
}
解決済みですか?もしそうでなければ、私はあなたが必要な場合はそれを解決しようとすることができますか? –
あなたがリンクしているブログの '__NSCFConstantString'は赤ちゃんです。ブログの問題は、サブクラス化とは関係がありません.Appleがすべての空の文字列を1つのオブジェクトに最適化しようとしているという事実とは関係ありません。空の文字列を表す1つのオブジェクトが単純な「NSString」だった場合、ブログのコードは依然として壊れていました。 – JeremyP