Ios CfBrigingRelease在解码字符串时返回null
我有一个奇怪的问题,这个扩展方法返回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)); } 我试图实现的是解码
- (NSString*) uriDecoded
{
return (NSString*) CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)self, CFSTR(""), kCFStringEncodingUTF8));
}
我试图实现的是解码一个编码的JSON字符串
问题是它并不总是这样。说实话,有时候它可能不是一个有效的JSON字符串,但这是否有什么关系呢
尊敬。cfurlCreateStringByReplacingPercentescapesusingEncode()返回nil,而cfbrigingRelease()只是传递它。我可以知道什么时候会发生这种情况吗?在我尝试连接一些字符串并对其进行解码之后,我尝试调试并找出发生这种情况的原因。在返回之前,取消CF函数的锁定并检查每个函数的结果,以便您可以看到发生了什么。您的方法内部应该有一些保护。当给定数据在该编码中实际上无效时,读取字符串编码的函数通常返回nil。