我只在使用alloc创建对象时才释放对象?

时间:2010-08-25 15:36:50

标签: objective-c memory-management

根据Apple,如果没有使用alloc或new创建对象,则不需要释放它。

我的理解是否正确?所以这样的事情 not 需要被释放:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];

3 个答案:

答案 0 :(得分:2)

Apple的Memory Management Rules

  

如果使用名称以“alloc”或“new”开头或包含“copy”的方法创建对象,则获取对象的所有权

所以:你是对的。

答案 1 :(得分:1)

如果方法名称包含newalloccopy,则必须将其释放。

您不需要在示例中发布NSURLRequest,它是自动释放

答案 2 :(得分:0)

正确。你不会释放那个对象。如果你第一次保留它(即获得它的所有权),你唯一的时间就是这样。