嗨,我通常创建另一个类的对象。如果这将会在自动释放池中,请你给我打电话吗?或者我们应该手动释放它。另一个类的Dealloc对象
-1
A
回答
1
如果初始化复制或新的你有,如果你把一个autorlease与分配那么他们将被自动释放
例如取消分配这些
Foo *foo = [[Foo alloc] init]; //you'll have release it somewhere yourself
而且
Foo *foo = [[[Foo alloc] init] autorelease];// this will be autreleased
1
简单的情况是:如果你使用init,你有责任释放它,无论是通过调用release还是调用autorelease。
例如
NSString *myString = [NSString alloc] init]; // You need to release this
...
[myString release]; // Now it's released - don't use it again!
,或者如果你打算把它送给别人
NSString *myString = [NSString alloc] init]; // This needs releasing
...
return [myString autorelease]; // You are finished with it but someone else might want it
然而,有一些其他情况。
NSString *myString = [NSString stringWithFormat:@"hi"];
此对象已在autorelease池中 - 不要释放它!
NSString *secondString = [myString copy];
该对象需要释放 - 这是不自动释放。
经验法则:任何与名称中的init,copy或new相关的东西 - 您制作它,您释放它。其他任何东西都会被自动释放。
+1
经验法则不是很正确:它不是`init`,而是`alloc`,它要求释放,另外它缺少`new`。 – danyowdee 2011-01-28 16:25:07
相关问题
- 1. 使用另一个类中的对象
- 2. 实现另一个类中的对象
- 3. Python使用另一个类中的一个类的对象
- 4. 创建一个具有另一个类的对象的类
- 5. 将一个类对象分配给C++中的另一个类对象
- 6. 如何将类对象复制到另一个类对象
- 7. 从一个类到另一个类的循环调用对象
- 8. 将一个类的对象传递给另一个类
- 9. 如何复制一个类的对象在另一个类
- 10. 在另一个类中调用一个类的对象
- 11. AS3 - 从另一个类访问对象
- 12. 从另一个类插入对象
- 13. 从另一个类访问对象?
- 14. Java - 从另一个类更新对象
- 15. 将对象传递给另一个类?
- 16. 转换对象到另一个类
- 17. 如何将多个对象分配给另一个类/对象?
- 18. 在另一个对象中设置类似的对象属性
- 19. 复制MVC模型类对象的值到另一个对象
- 20. 使另一个对象的父对象
- 21. 拥有另一个对象的对象
- 22. 另一个对象的访问对象
- 23. 另一个对象内的JavaScript对象
- 24. 如何复制从另一个类传递给另一个类的对象?
- 25. 将对象从一个类移动到另一个类(Java)
- 26. 在另一个类中使用一个类对象?
- 27. 如何将对象从一个类调用到另一个类
- 28. 如何检查一个类(元类对象)对象是否与另一个类对象相等
- 29. 添加对象到另一个对象,它是在另一个对象
- 30. 随机类 - 将对象分配给另一个对象
您需要显示一些代码或更好地解释您的问题,或两者兼而有之。你创建的一些对象可能是自动释放的,其他的可能不是...... – 2011-01-25 06:55:59