我正在测试 UITableView :(在 ARC 下)代码如下,
- (void)viewDidLoad
{
[super viewDidLoad];
UnitTest *unitTest = [[UnitTest alloc] init];
UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
tableView.delegate = unitTest;
tableView.dataSource = unitTest;
[self.view addSubview:tableView];
}
我在 Object UnitTest 中实现了 tableView 委托。当我运行我的项目时,它会获取一个错误:
libobjc.A.dylib`objc_msgSend:
0x30f13f68: teq.w r0, #0
0x30f13f6c: beq 0x30f13faa ; objc_msgSend + 66
0x30f13f6e: push.w {r3, r4}
0x30f13f72: ldr r4, [r0] // Thread 1: BAD_EXE_ACCESS ....
0x30f13f74: lsr.w r9, r1, #2
0x30f13f78: ldr r3, [r4, #8]
0x30f13f7a: add.w r3, r3, #8
0x30f13f7e: ldr r12, [r3, #-8]
控制台中没有任何内容。
当我换线时
UnitTest *unitTest = [[UnitTest alloc] init];
至
UnitTest *unitTest = [UnitTest sharedUnitTest]; // i have implement this singleton
一切正常!!为什么