我更改我的UIWindow的rootViewControler後出現以下錯誤。更改後的錯誤rootviewcontroller + [NSNotificationCenter dictationViewClass]
2012-10-16 15:12:35.653 repdocApp[22898:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSNotificationCenter dictationViewClass]: unrecognized selector sent to class 0x1d63914'
奇怪的是,它只發生在我的代碼中有一行永遠不會被執行的時候。
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
AppDelegate *app = (AppDelegate *) [[UIApplication sharedApplication] delegate];
OverviewModel *model = [self.dataArray objectAtIndex:indexPath.row];
if (model.modelType == ModelTypeCatalog)
{
NSLog(@"HERE");
if (app.window.rootViewController == app.catalogViewController)
{
return;
}
// with this return no error but this branch is never executed
// return;
[UIView transitionFromView:app.window.rootViewController.view
toView:app.catalogViewController.view
duration:0.45f
options:UIViewAnimationOptionTransitionCrossDissolve
completion:^(BOOL finished){
app.window.rootViewController = app.catalogViewController;
}];
}
else
{
if (app.window.rootViewController == app.catalogViewController)
{
[app.navigationPopoverController dismissPopoverAnimated:NO];
[UIView transitionFromView:app.window.rootViewController.view
toView:app.splitViewController.view
duration:0.45f
options:UIViewAnimationOptionTransitionCrossDissolve
completion:^(BOOL finished){
app.window.rootViewController = app.splitViewController;
}];
}
}
}
我搜索整個互聯網,但我沒有發現任何有關+ NSNotificationCenter dictationViewClass]或這是什麼都可以。
編輯: 我現在注意到,它只發生,如果我改變rootViewController在一個過渡,如果我直接做沒有錯誤發生。
所以我會尋找一個包含這種方法在你的來源 –
我有一個類別,但沒有這樣的方法,奇怪的是整個事情永遠不會被執行。 – Sebastian