在iOS App中发布定制的NSObject类

Zig*_*rth 2 memory-management dealloc nsobject ios

我有一个我作为NSObject创建的类.这个类有许多不同类型和方法的属性等.

当我在我的应用程序中实例化这个类时(比如在主视图控制器中),当我使用它时,我立即发送一个释放调用.即:

MyObject *myObject = [[MyObject alloc] initWithParameters:parms];
[myObject doSomeMethodCall];
[myObject release];
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:当我释放myObject时,它会自动释放我在MyObject .h文件中声明的所有声明的对象,变量等吗?

要么

我是否需要创建一个自定义发布方法来释放所有这些?

我问因为内存管理问题.

谢谢.

kub*_*ubi 5

您需要dealloc在对象中实现一个方法,并使用该方法释放您拥有的任何资源.

http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmObjectOwnership.html#//apple_ref/doc/uid/20000043-SW4

- (void)dealloc {
    [mainSprocket release];
    [auxiliarySprocket release];
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

重要提示:您永远不会在对象上调用dealloc方法,它会在清理时由运行时自动调用.