- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望有人能帮助我解决我遇到的这个问题。
我正在尝试将UIViewController
数组添加到UIPageViewController
。但是,每当我尝试通过方法 instantiateViewController
访问 View Controller 时,都会收到 SIGABRT 错误。
let vc: UIViewController = self.storyboard?.instantiateViewController(withIdentifier: views[index]) as! UIPageViewController
这是我的整个 ViewController.swift 文件,仅供引用。
import UIKit
class ViewController: UIViewController {
var pageViewController: UIPageViewController!
var views: [String] = ["view1","view2"]
override func viewDidLoad() {
super.viewDidLoad()
self.pageViewController = self.storyboard?.instantiateViewController(withIdentifier: "pageViewController") as! UIPageViewController
var arr: [UIViewController] = []
for i in 0..<views.count{
arr.append(assignView(index: i))
}
self.pageViewController.setViewControllers(arr, direction: .forward, animated: true, completion: nil )
self.addChildViewController(self.pageViewController)
self.view.addSubview(self.pageViewController.view)
pageViewController.didMove(toParentViewController: self)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func assignView (index: Int) -> UIViewController{
let vc: UIViewController = self.storyboard?.instantiateViewController(withIdentifier: views[index]) as! UIPageViewController
return vc
}
}
有人可以告诉我为什么我的代码会抛出这个错误吗?
非常感谢!
最佳答案
从下面一行:self.storyboard?.instantiateViewController(withIdentifier: "pageViewController") as! UIPageViewController
Storyboard似乎被视为可选。当您尝试访问 Storyboard 变量时,它可能会变得为零。理想情况下,它不应该为零,也不应该是可选的。如果该选项是有意完成的,那么您可以在访问之前应用“if let”进行检查。
如果您需要进一步说明,请告诉我。
关于ios - 将 instantiateViewController 与 UIVewController 结合使用时获取信号 SIGABRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40897628/
为什么我不能使用类似的方法创建 View Controller 对象resultVC = ResultViewController() 而不是下面的方式。 let storyboard
我有这段代码,但是我没有在第二个 View Controller 中接收数据...我在这里做错了什么? let storyboard = UIStoryboard(name: "Pos
我是ios开发新手,所以请原谅我的无知。我注意到,当我使用 UICollectionViewCell 时,我可以调用 dequeueReusableCell 来实例化或调用现有单元格。我想知道 Vie
我有一个经典的主从逻辑,并尝试在点击事件中使用 InstantiateViewController 创建细节 UIViewController 的实例。 这是我的代码, MasterViewContr
我的自定义导航栏中有一个菜单表格 View 。如果我单击一个单元格,它应该将我带到另一个 View Controller 。但是当我点击它时我的应用程序崩溃了。 func tableView(_ ta
我正在尝试做的事情: 我正在尝试按下导航栏右上角的 + 按钮,将应用推送到新 View (使用 navigationController.pushViewController),从新 View 获取一
swift 3.0 根据我在这里的发现,UIStoryboard 总是在函数 instantiateViewController(withIdentifier:) 中返回非可选实例。 open cla
segue 和 instantiateViewController 有什么区别? 我一直在尝试弄清楚如何使用 segues 将图像从一个 View Controller 发送到另一个 View Con
我正在使用 storyboard.instantiateViewController 来启动 TableViewController,但是当我尝试向下转换它时,出现错误: Could not cast
基本上我有五个 View Controller ,第一个是初始 View Controller 有两个文本字段,用户可以在其中输入值。之后,根据用户从两个选择器 View 中的选择,他/她将在点击“下
我已经创建了第二个带有 Storyboard的 View Controller 。我已经指定了一个 StoryBoard ID。我为这个 Controller 创建了一个类,并在 Storyboard
为什么我们需要在使用 UIStoryboard 的 instantiateViewController(withIdentifier:) 方法实例化 View Controller 之后使用关键字进行
我正在尝试为我的项目中的导航获取更多的通用解决方案,并且我一直想知道 segues 与手动实例化的 VC。 我在 atm 中的做法是,我在 Storyboard 中拥有从一个 View 到另一组 Vi
我希望有人能帮助我解决我遇到的这个问题。 我正在尝试将UIViewController数组添加到UIPageViewController。但是,每当我尝试通过方法 instantiateViewCon
我试图理解两个 View Controller 之间的通信。 在没有 segue 的情况下传递数据时,我看到了两种创建目标 Controller 实例的方法。 第一个是storyboard?.inst
从sb.instantiateViewController(withIdentifier:)创建一个vc10,不能使用它的属性甚至将它的类型转换为ViewController10 。 下面是我的代码:
当从代码启动 UIViewController 时,它需要运行的数据作为参数传递到 init 方法中并保存在非可选属性中,因此当 ViewDidLoad() 是您可以对数据和 View 执行任何您需要
我使用的是我的物理设备,而不是模拟器。 我正在使用 storyboard.instantiateViewController(withIdentifier:) 实例化一个 vc 并以模态方式呈现它。我
我正在处理 Xamarin IOS/monotouch 项目。一段时间以来我一直被这个错误所困。这些是代码行 var prfc = this.Storyboard.InstantiateViewCon
我收到这个错误 - InstantiateViewController(identifier:creator:)' is only available in iOS 13.0 or newer 为了解
我是一名优秀的程序员,十分优秀!