【发布时间】:2011-09-24 07:34:29
【问题描述】:
有人遇到过这个问题吗? 如果我需要一个实例变量,而不是作为属性,并在方法中初始化这个变量,那么当我需要它时,它已经被释放了。它发生在自动释放的对象上。这是什么原因?
通常实例变量应该具有类对象的整个生命周期。但是,如果变量是函数的本地变量,并且它是一个自动释放对象,它似乎会在函数退出时被释放。
MyClass.h
@interface MyClass:UIViewController {
NSDate * date;
}
MyClass.m
@implementation MyClass {
- (void) anInit {
date = [NSDate date];
}
- (void) useDate {
NSLog (@"%@", date);
// here date is already release, and get bad access.
}
}
【问题讨论】:
标签: iphone objective-c initialization instance-variables