Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
Objective c NSData initWithContentsOfURL:是否不返回原始分配?_Objective C_Memory Leaks_Memory Management_Nsdata_Foundation - Fatal编程技术网

Objective c NSData initWithContentsOfURL:是否不返回原始分配?

Objective c NSData initWithContentsOfURL:是否不返回原始分配?,objective-c,memory-leaks,memory-management,nsdata,foundation,Objective C,Memory Leaks,Memory Management,Nsdata,Foundation,在NSData的initWithContentsOfURL:的 返回的对象可能与原始接收方不同 这意味着什么?这似乎意味着一个标准的“alloc/init”行可能会泄漏内存。类集群成为最受公众认可的集群有几个原因: - (id)initWithContentsOfURL:(NSURL *)url { self = [super init]; if (self != nil) { NSData * result = [[NSDataClassC

NSData
initWithContentsOfURL:

返回的对象可能与原始接收方不同


这意味着什么?这似乎意味着一个标准的“alloc/init”行可能会泄漏内存。

类集群成为最受公众认可的集群有几个原因:

- (id)initWithContentsOfURL:(NSURL *)url
{
    self = [super init];
    if (self != nil) {
        NSData * result =
           [[NSDataClassClusterSpecialization alloc] initWithContentsOfURL:url];
        [self release];
        return result;
    }
    return self;
}
使用此表单不会导致任何泄漏

这只是意味着您应该只使用
alloc
+
init
调用的结果(而不是保留
alloc
的结果),这在任何情况下都是一个好主意,即使没有明确的文档记录