2014-02-06 48 views
0

以下代码是我尝试在较新项目中使用的较旧文件的片段。自从ARC被使用以来,我遇到了一些麻烦,使其对ARC友好。我已经摆脱了所有的autoreleases,但这个问题仍然存在。我应该如何替换NSMakeCollecatble?将旧项目转换为ARC

NSString *newString = NSMakeCollectable(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding]))); 
+0

见第一个答案在这里:http://stackoverflow.com/questions/8594721/nsmakecollectable-and-arc-doesnt-work给出你正在寻找的解决方案。 – Volker

回答

0

这个答案已经在这里找到答案: https://stackoverflow.com/a/15198145/1835155

NSString *newString = CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding]))); 
+0

我的歉意,我发现了类似的事情,但没有。 – user3272893

+0

没问题的人! – jbouaziz

+0

如果你可以接受那将是很好的答案! – jbouaziz