据崩溃论说,发生了以下崩溃(很少).
应用程序试图在自身上呈现模态视图控制器.提出控制器是.
我根本无法复制这个问题.这就是我设置UISearch控制器的方法.
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchBar.delegate = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
self.definesPresentationContext = YES;
Run Code Online (Sandbox Code Playgroud)
任何帮助都表示赞赏,因为我完全没有想法.如果需要,我会发布更多代码.
这个问题已被多次询问,但即使在尝试了大部分可能的事情后,我仍然无法找到适合我的解决方案.这是错误消息.
警告:尝试在视图不在窗口层次结构中的<0x7f8f29e17590>上显示!
注意:我没有使用任何导航控制器.
我只是模态地呈现一个视图控制器,我有一个按钮,用于linkedIn注册.但每次我点击"确认"按钮时都会出现此错误,但我无法看到新的linkedIn对话框,尽管它在其他类中工作正常.
大多数解决方案建议在viewDidAppear中处理按钮单击已经尝试过,但它不起作用.
我正在使用此代码打开linkedIn注册表单
linkedinHelper.authorizeSuccess({ [unowned self] (lsToken) -> Void in
print("success lsToken: \(lsToken)")
self.requestProfile()
}, error: { [unowned self] (error) -> Void in
print("Encounter error: \(error.localizedDescription)")
}, cancel: { [unowned self] () -> Void in
print("User Cancelled!")
})
Run Code Online (Sandbox Code Playgroud) 完成处理程序闭包在ios开发中很常见.例如dataTask(with:completionHandler:)在URLSession类中.
UI引擎由主线程管理,URLSession的API调用在后台线程下运行,如果处理程序中需要UI更新,则需要将其调度到主线程.
问题1:来自ios框架的所有完成Handler闭包是否都在后台线程中运行?
问题1.1:例如,开发人员创建的所有转义闭包是否都在后台线程中运行?
问题2:我在iPhone X模拟器中看到了多达8个线程.哪一个是主线程,哪一个是ios中的后台线程?他们有不同的优先级和计算能力吗?