Im khá mới để lập trình khách quan c và phát hành các đối tượng là nhức đầu lớn nhất của tôi. Tôi luôn luôn nghi ngờ về những gì cần phải được phát hành, và thời gian của tôi tôi đã kết thúc phát hành biến sai và nhận được một vụ tai nạn BAD EXEC. Tôi đã đọc hướng dẫn của apple về quản lý bộ nhớ, nhưng tôi không thể luôn đi từ ví dụ của họ đến mã của tôi.Phát hành mục tiêu-C của người độc thân
Một trong những tình huống này là những người độc thân của tôi (Im a big Singleton guy).
tôi có một định nghĩa như thế này:
static Configuration* _instance;
+(Configuration*)getInstance{
if (_instance == NULL){
_instance = [Configuration alloc];
[_instance initConfig];
}
return _instance;
}
Trong mã của tôi, tôi sử dụng nó như thế này:
//Store configuration
Configuration* conf = [Configuration getInstance];
conf.userName = self.userName.text;
conf.cellPhone = self.phoneNumber.text;
Tôi có cần phải nhả "conf" biến?
Khi nào tôi nên giải phóng _instance?
Vì Im đang chạy mã này trên iPhone, điều gì sẽ xảy ra với các vars mà tôi không phát hành? liệu chúng có ảnh hưởng đến hiệu suất của iPhone không?
bạn có thể xem điều này không, tôi đoán bạn có thể giúp tôi http://stackoverflow.com/questions/6928028/objective-c-alloc-release-error-in-singleton-class – Spring