在Objective-C中发布问题

Que*_*ons 0 memory-management objective-c ios

我想问一下目标C中的内存管理问题.我是目标C的绿色.当我从Apple网站上阅读一些示例程序时,我看到了[XXX发布].我想这个语句用于释放变量的使用.但是,当我在程序中使用此语句时,我遇到了一些问题.我使用NSLog()来显示内容,但它无法显示内容,它显示了一些关于发布的声明.

目标C是否像java一样具有自动内存管理功能?或者我们需要关心程序的内存问题.

非常感谢你.

Dav*_*ong 7

Objective-C确实有垃圾收集("自动内存管理"),但仅限于Mac.它不适用于iPhone.但是,内存管理规则并不复杂.它是:

如果给你通过一个方法(或功能)的对象,它包含了字new,alloc,retain,或copy,那么您必须release在对象或autorelease它.

这就是它.如果你总是遵循这个惯例,那么99.999%的时间你就可以了.另外0.001%的时间,阅读文档(或在StackOverflow上问我们!:)).

(我还要补充一点,文档说这与此规则相矛盾.)