gpt4 book ai didi

xcode - pageViewController setViewControllers 崩溃并显示 "Invalid parameter not satisfying: [views count] == 3"

转载 作者:行者123 更新时间:2023-12-03 02:16:56 53 4
gpt4 key购买 nike

我知道还有其他几个类似的问题,但我找不到解决我的问题的方法。我使用 pageViewController 显示不同的 ViewController。每次 pageViewController 向前移动时,我都会检查最后一页的输入。如果错误,pageViewController 应该使用 setViewController 方法返回到该页面。如果没有这种方法,一切都会正常工作,但如果我尝试使用它,应用程序会崩溃并出现以下异常:

19:48:25.596 Phook[23579:60b] *** Assertion failure in -[_UIQueuingScrollView _replaceViews:updatingContents:adjustContentInsets:animated:], /SourceCache/UIKit_Sim/UIKit-2935.137/_UIQueuingScrollView.m:383  
2014-06-02 19:48:25.600 Phook[23579:60b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: [views count] == 3'

这是我的代码:

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished
previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
{
if (completed && finished)
{

RegisterUserPageContent* lastPage = (RegisterUserPageContent*)previousViewControllers[ previousViewControllers.count-1];
int lastIndex = lastPage.pageIndex;
int newIndex = ((RegisterUserPageContent*)[self.pageViewController.viewControllers objectAtIndex:0]).pageIndex;

if (newIndex > lastIndex)
{ // Moved Forward
if(!lastPage.testInput)
{
[self.pageViewController setViewControllers:@[ [self.storyboard instantiateViewControllerWithIdentifier:_pageStoryBoardIDs[0]] ]
direction:UIPageViewControllerNavigationDirectionReverse
animated:YES completion:nil];


}
}
else
{ // Moved Reverse

}
}
}

正如我已经说过的。我进行了很多搜索并实现了一些解决方案,但没有任何帮助。谢谢。

最佳答案

我遇到了同样的问题,并且能够使用此答案 https://stackoverflow.com/a/20973822/3757370 中的提示解决它。 。只需将 setViewControllers:direction:animated:completion: 代码放置在主队列上的dispatch_async block 内即可为我修复它。对于你来说,这看起来像

dispatch_async(dispatch_get_main_queue(), ^{
[self.pageViewController setViewControllers:@[ [self.storyboard instantiateViewControllerWithIdentifier:_pageStoryBoardIDs[0]] ]
direction:UIPageViewControllerNavigationDirectionReverse
animated:YES completion:nil];
});

希望对你有帮助!

关于xcode - pageViewController setViewControllers 崩溃并显示 "Invalid parameter not satisfying: [views count] == 3",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24000712/

53 4 0