gpt4 book ai didi

iphone - 更改 rootviewcontroller +[NSNotificationCenter dictationViewClass] 后出错

转载 作者:行者123 更新时间:2023-11-29 04:21:41 26 4
gpt4 key购买 nike

更改 UIWindow 的 rootViewControler 后出现以下错误。

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 时才会发生这种情况,如果我直接这样做,则不会发生错误。

最佳答案

您的错误日志是2012-10-16 15:12:35.653 repdocApp[22898:c07]由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[NSNotificationCenter dictationViewClass]:发送到类的无法识别的选择器0x1d63914

您调用了错误的方法。dictationViewClass 在 ios 中不存在。这只是意味着您正在尝试调用对应类(NSNotificationCenter)不存在的方法。您应该如下更改设置通知

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(yourMethodWantToExcute:) name:@"NSNotificationName" object:nil];

希望对您有帮助。

关于iphone - 更改 rootviewcontroller +[NSNotificationCenter dictationViewClass] 后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12915593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com