Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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 CfBrigingRelease在解码字符串时返回null_Ios_Objective C_Nsstring_Decode - Fatal编程技术网

Ios CfBrigingRelease在解码字符串时返回null

Ios CfBrigingRelease在解码字符串时返回null,ios,objective-c,nsstring,decode,Ios,Objective C,Nsstring,Decode,我有一个奇怪的问题,这个扩展方法返回null,我就是不明白 - (NSString*) uriDecoded { return (NSString*) CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)self, CFSTR(""), kCFStringEncodingUTF8)); } 我试图实现的是解码

我有一个奇怪的问题,这个扩展方法返回null,我就是不明白

- (NSString*) uriDecoded
    {
    return (NSString*) CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)self, CFSTR(""), kCFStringEncodingUTF8));
    }
我试图实现的是解码一个编码的JSON字符串

问题是它并不总是这样。说实话,有时候它可能不是一个有效的JSON字符串,但这是否有什么关系呢


尊敬。

cfurlCreateStringByReplacingPercentescapesusingEncode()返回nil,而cfbrigingRelease()只是传递它。我可以知道什么时候会发生这种情况吗?在我尝试连接一些字符串并对其进行解码之后,我尝试调试并找出发生这种情况的原因。在返回之前,取消CF函数的锁定并检查每个函数的结果,以便您可以看到发生了什么。您的方法内部应该有一些保护。当给定数据在该编码中实际上无效时,读取字符串编码的函数通常返回nil。