【发布时间】:2013-04-25 20:25:09
【问题描述】:
我对 Objective-C 和 iOS 开发还很陌生,目前我正在尝试掌握如何进行内存管理。顺便说一句,我的应用在非 ARC 中。
除了 belove 行之外,该对象未在代码中的任何位置(不是 .h 或任何东西)声明。当我使用完毕后,我是否需要以任何方式释放/释放该对象以清除它的空间,还是自动完成?
NSMutableURLRequest *restRequest = [[NSMutableURLRequest alloc] init];
这个也一样。不确定这是否是同一个问题,但在这里我在使用它之前不使用 alloc & init 这两个词。这有什么不同吗?
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
在这种情况下,我在 .h 文件中定义对象并保留它。这是否意味着除非我释放/释放它,否则该变量将始终在内存中(当初始化一次时)?我想如果是这样的话,当视图被卸载时我应该在视图中做些什么?
@interface Storeage : NSObject {
NSString *deviceToken;
}
@property (nonatomic, retain) NSString *deviceToken;
在 .m 文件中,我将像在第一种或第二种情况下一样分配和使用该对象(似乎没有任何区别)。
如果这个问题很愚蠢,请多多包涵。我习惯于使用 GC 进行低级 Java 编程。
【问题讨论】:
-
你所有的问题都在Advanced Memory Management Programming Guide里得到解答,其实一点也不特别高级。请阅读。
-
@robmayoff:我以前看过那个页面,但这是我第一次读到它,我意识到这是一个多页的教程。哇...猜猜我最大的问题是用我的眼睛。
标签: ios objective-c memory-management