我目前正在学习objective-c,并且正在使用NSTableView 进行培训。
这是我的问题:
我已经通过 Interface Builder 将我的 tableview 链接到我的控制器,以便它有一个数据源,我已经在我的控制器中实现了 NSTableViewDataSource 协议,并且我已经实现了-(NSInteger) numberOfRowsInTableView:
和-(id) tableView:objectValueForTableColumn:row:
方法。
我创建了一个原始业务类(“人”),并成功地将其内容显示到我的 NSTableView 中。
但是后来,我NSLog
在我的 dealloc 方法中放了一些来查看内存是否被释放,似乎我的数组以及我的“人”实例永远不会被释放。
这是我在控制器中的 dealloc 代码:
-(void)dealloc
{
NSLog(@"the array is about to be deleted. current retain : %d",[personnes retainCount]);
[personnes release];
[super dealloc];
}
在我的“人”课上
-(void) dealloc
{
NSLog(@"%@ is about to be deleted. current retain : %d",[self prenom],[self retainCount]);
[self->nom release];
[self->prenom release];
[super dealloc];
}
什么时候应该在应用程序生命周期中调用这些 dealloc?因为我希望他们在窗口关闭时被调用,但它没有。
希望足够清楚,
谢谢 :)
风筝。