我对 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 编程。