我在 UITableView 上使用自定义类作为委托和数据源。我在我的 viewDidLoad 方法中做(类似的事情):
MyClass *myObject = [[MyClass alloc] init];
tableViewOutlet.delegate = myObject;
tableViewOutlet.dataSource = myObject;
当然,我需要在某处减少 myObject 的保留计数吗?但是在这里调用 [myObject release] 会产生非常糟糕的结果——委托在表完成它的工作之前就被销毁了。
我试过了
MyClass *myObject = [[[MyClass alloc] init] autorelease];
但它也有可怕的后果。
我这里有内存泄漏吗?如果是这样,我如何以及何时安全地释放代表?