我为ios5编译项目时遇到了问题。以下代码适用于ios4.3。在运行时,内核在此行上抛出EXC_BAD_ACCESS Mach异常:
[[self navigationController] pushViewController:choixQuotidienTableViewController animated:YES];
在我的tableview上的didSelectRowAtIndexPath中:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
// requête avec la langue choisie
NSArray *codes = [arrayLangages valueForKey:@"code"];
NSString *codeSelect = [codes objectAtIndex:indexPath.row];
//NSLog(@"selected code : %@", codeSelect);
// init table view Choix Quotidien
ChoixQuotidienTableViewController *choixQuotidienTableViewController = [[ChoixQuotidienTableViewController alloc] initWithStyle:UITableViewStylePlain andCode:codeSelect];
//choixQuotidienTableViewController.fromLangue = resultsArrayKioskLangue;
if([self navigationController] == nil)
{
NSLog(@"navigationController IS NIL!!!");
}
else
{
NSLog(@"Nav controller IS OK!");
if(!choixQuotidienTableViewController)
{
NSLog(@"choixcontroller IS NIL!!!");
}
else
{
NSLog(@"choix controller IS OK!");
[[self navigationController] pushViewController:choixQuotidienTableViewController animated:YES];
}
}
choixQuotidienTableViewController = nil;
}
你能帮帮我吗? ios5有什么变化吗?
谢谢!
更新:好的新东西......:我用过profil>植物大战僵尸。这个工具在[ChoixQuotidienTableViewController tableView:cellForRowAtIndexPath:]中显示错误......疯狂!
我使用了一个自定义单元格...当我纠正它时它起作用......
感谢您的帮助!
答案 0 :(得分:1)
没有更多代码就很难说。
此代码不会生成BAD_ACCESS。但请注意,如果您不释放它,choixQuotidienTableViewController
将会泄漏(除非您使用ARC)。
确保[self navigationController]
返回尚未释放的有效对象。
调试器堆栈跟踪也可能有所帮助。
答案 1 :(得分:0)
你试过吗?
[choixQuotidienTableViewController release];
代替
choixQuotidienTableViewController = nil;
?