我有个问题。
我首先创建了一个扩展 NSObject 的对象,我为 description 和 dealloc 方法提供了覆盖。这是我的 Employee.m 文件:
@implementation Employee
.....
-(NSString *)description
{
return [NSString stringWithFormat:@"Employ ID: %d has $%d value of assets", [self employeeID], [self valueOfAssets]];
}
-(void)dealloc
{
NSLog(@"deallocating.. %@", self);
[super dealloc];
}
在我的 main.m 中,我首先创建了一个 NSMutableArray 来保存 Employee 对象的列表:
NSMutableArray *employees = [[NSMutableArray alloc] init];
for (int i =0; i< 10; i++)
{
// Create an instance of Employee
Employee *person = [[Employee alloc] init];
// Give the instance varaible interesting values
[person setEmployeeID:i];
[employees addObject: person];
}
最后我将员工设置为零
employees = nil;
我希望dealloc
调用每个 Employee 对象的方法,我会看到一些日志,例如:
deallocating.. Employ ID 0 has value.....
deallocating.. Employ ID 2 has value.....
....
但是,我没有看到任何日志,并且如果我在dealloc
方法上设置断点,则断点永远不会被命中。
有什么想法吗?