Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 转换为ARC时NSMakeCollectable出现问题_Ios_Automatic Ref Counting - Fatal编程技术网

Ios 转换为ARC时NSMakeCollectable出现问题

Ios 转换为ARC时NSMakeCollectable出现问题,ios,automatic-ref-counting,Ios,Automatic Ref Counting,我正在尝试将我的代码转换为ARC,但我在ASIRestRequest库中遇到了NSMakeCollectable问题 - (NSString*)encodeURL:(NSString *)string { NSString *newString = NSMakeCollectable([(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CF

我正在尝试将我的代码转换为ARC,但我在ASIRestRequest库中遇到了NSMakeCollectable问题

- (NSString*)encodeURL:(NSString *)string
{
    NSString *newString = NSMakeCollectable([(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding])) autorelease]);
    if (newString) {
        return 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 @"";
        }
-(NSString*)编码URL:(NSString*)字符串
{
NSString*newString=NSMakeCollectable([(\uu桥\u传输NSString*)CFURLCreateStringByAddingPercentEscape(kCFAllocatorDefault,(CFStringRef)字符串,NULL,CFSTR(:/?\u35;[]@!$&'()*+,;=\“%{}\\\ ^`),CFSTRingConvertNSStringEncoding到Encoding([自stringEncoding])自动释放]);
如果(新闻字符串){
返回新闻字符串;
}
返回@”;
}

在ARC中不再需要NSMakeCollectable
。您可以在此处使用
CfBrigingRelease

- (NSString*)encodeURL:(NSString *)string
{
    NSString *newString = CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding])));
    // or  NSString *newString = (__bridge_transfer NSString*)(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding]));
    if (newString) {
        return newString;
    }
    return @"";
}
-(NSString*)编码URL:(NSString*)字符串
{
NSString*newString=CfBrigingRelease(CfURLCreateStringByAddingPercentescape(kCFAllocatorDefault,(CFStringRef)字符串,NULL,CFSTR(“:/?#[]@!$&'”)(*+,;=“%{}124;\ ^`),CfStringConvertNSStringEncoding到Encoding([自stringEncoding]);
//或NSString*newString=(\uu桥\u传输NSString*)(CFURLCreateStringByAddingPercentEscapes(kcfolcatorDefault,(CFStringRef)字符串,NULL,CFSTR(“:/?\u35;[]@!$&')(*+,;=\”%{}\ 124;\^`),cfStringConvertNSStringEncoding编码([自stringEncoding]);
如果(新闻字符串){
返回新闻字符串;
}
返回@”;
}

检查此项并尝试它..不工作..不工作..我编辑了我的问题..您更改了错误的行,如果仔细阅读链接,您将看到使用ARC时,
NSMakeCollectable
功能不可用,这是您必须修改的行,否返回再次编辑了问题。请查看。。。
- (NSString*)encodeURL:(NSString *)string
{
    NSString *newString = CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding])));
    // or  NSString *newString = (__bridge_transfer NSString*)(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding([self stringEncoding]));
    if (newString) {
        return newString;
    }
    return @"";
}