5
私のコードをARCに変換しようとしていますが、ASIRequestライブラリのNSMakeCollectableに問題があります。ARCに変換する際のNSMakeCollectableの問題
- (NSString*)encodeURL:(NSString *)string
{
NSString *newString = NSMakeCollectable([(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding])) autorelease]);
if (newString) {
return newString;
}
return @"";
}
これは私にこのエラー:NSMakeCollectable is unavailable: not available in automatic reference counting
を与えています。
どうすれば解決できますか?いくつかのガイダンスが必要です。ありがとう。
EDIT: はこれを試してみました動作していない:
- (NSString*)encodeURL:(NSString *)string
{
NSString *newString = NSMakeCollectable([(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding])) autorelease]);
if (newString) {
return (__bridge_transfer NSString*)newString;
}
return @"";
}
が同様にこれを試し:
- (NSString*)encodeURL:(NSString *)string
{
NSString *newString = NSMakeCollectable([(__bridge_transfer NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding])) autorelease]);
if (newString) {
return newString;
}
return @"";
}
チェックはこのhttp://stackoverflow.com/questions/8594721/nsmakecollectable-and-arc-doesnt-work – tkanzakic
は私が私の質問を編集した... – lakesh
が動作していない...動作していない...それを試してみました。 。 – lakesh