5
我想我的代碼轉換爲ARC和我在ASIRequest庫有問題,NSMakeCollectable。問題與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
。
我該如何解決這個問題?需要一些指導。謝謝。
編輯: 嘗試這樣做,不工作:
- (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 2013-03-04 08:52:54
試了..沒有工作... – lakesh 2013-03-04 08:53:40
不工作...我編輯我的問題。 。 – lakesh 2013-03-04 08:57:38