0

我在一个选项卡中有一个 TabBarController 我在 NavigationController 中有一个 TableViewController。当我添加一个属性时

@property CGFloat rowHeight;

或添加类似

if ([self.modelTypeCell isEqualToString:@"TypeOneCell"])

我得到一个

error: gdb remote returned an error: E08 EXC_BAD_ACCESS (Code=1....

在这一行

@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}

我无法调试任何东西,并且在错误发生之前没有遇到断点。

编辑:僵尸没有给我信息,在仪器和真实设备上没有抛出错误......

EDIT2:我发现问题应该在这里

-(void)setupControllerDictionaries
{
self.masterViewControllerDictionary = [[NSMutableDictionary alloc] init];

TableMasterViewController *master = [[TableMasterViewController alloc] initWithModelType:ModelTypeCustomer];

[self.masterViewControllerDictionary setObject:master forKey:[NSNumber numberWithInt:ModelTypeCustomer]];
[master release];

}

当我注释掉主版本时,错误消失了,也许是错误,也许是其他地方

4

1 回答 1

2

像这样编写时可以最好地使用属性:

@property(nonatomic, assign) CGFloat rowHeight;

非原子是因为属性可以在多个线程中执行,而分配意味着属性在分配给属性时应该使用分配属性。保留不能与 this 一起使用,因为此变量不是指针类型

于 2012-10-19T14:07:25.727 回答