- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我知道我肯定在这里遗漏了一些明显的东西,但我似乎无法通过它的实际类型来引用目标 View Controller 。我按照以下步骤从头开始创建了一个新项目来对此进行测试:
将此代码添加到第一个 View Controller :
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
let vc: SecondViewController = segue.destinationViewController
vc.id = "test"
}
这会导致错误 Cannot convert value of type 'UIViewController' to specified type 'SecondViewController'
。我已经尝试了我能想到的一切,尝试了所有的 segue 类型等,但我没有想法。我知道 segue 本身的工作就像我注释掉它确实调用第二个 View Controller 的代码一样(我什至在名称中添加了一个标签只是为了确定)。
我是 Swift 和 Storyboard 的新手,所以我在这里可能缺少一些简单的东西,但我们将不胜感激任何帮助!
最佳答案
您应该可以像这样设置值。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if let vc: SecondViewController = segue.destinationViewController as? SecondViewController {
vc.id = "test"
}
}
如果您添加其他 segue,这也会更安全。
另一种方法是用
强制转换 Controlleroverride func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
let vc: SecondViewController = segue.destinationViewController as! SecondViewController
vc.id = "test"
}
这段代码应该可以编译,但是如果使用错误的 destinationViewController 调用它会崩溃.
关于ios - 准备 segue : Cannot convert value of type 'UIViewController' to specified type 'SecondViewController' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33745550/
我正在尝试创建出现在最顶部 View Controller 上的通用警报,而底部 View Controller 仍然可以点击。此警报只是一个 20 点高的状态行,用于通知用户网络可达性。如何使 UI
我在按钮方法中有这段代码。 @IBAction func sendMsg(_ sender: UIButton) { DataforChat.arr2.append(enterMsg.text
正如标题所述,我无法将按钮拖动到我创建的 SecondViewController 中。 以下是我采取的所有步骤: 1) 进入编辑器 -> 嵌入 -> 导航 Controller 来创建一个新的导航
在评论我的项目之前,我是 Swift 的新手,正在努力学习。 在我的项目中,我有两个 View Controller ,将命名为 FirstViewController 和 SecondViewCon
我正在使用 Xcode 提供的模板制作 TabBarController 应用程序,每次单击它时我都需要重新加载第二个 View Controller 。我该怎么做? 谢谢 最佳答案 每当标签栏切换v
我目前正在开发一个应用程序,但遇到以下问题:我有我的主 VC (ReceiveInputVC),在我输入一个输入后,它会转到第二个 VC (TimeLeftVC ) 并使用从 mainVC 接收到的输
我第一次尝试构建一个分组的而不是简单的 tableView,但在点击单元格时显示的信息不正确时遇到了问题。 首先,我创建了一个数组,该数组用于为我的组提供标题。接下来我有一个数组,其中包含另外 4 个
如何在 viewDidLoad() 方法中与 ViewController 同时加载 SecondViewController ? Segue 的类型是 Sheet。 import Cocoa cla
prepareForSegue() 方法定义了 SecondViewController 的对象类型。然后,它访问 SecondViewController 类的数据成员并将“New View Con
我正在做一个练习,在 ViewController 中呈现一个 SecondViewController。 这就是我调用 View Controller 的方式。 - (void)viewDidApp
我有一个名为“Capital”的子类,它声明了变量,我想通过子类将这些变量通过 segue 推送到新的 SecondViewController 除了子类“Capital”,我还有 (2) 个 Vie
我正在尝试通过按下主视图 Controller 中的按钮将 JSON 值传输到另一个 View Controller 中的标签。我的第一个 View Controller 称为“ViewControl
经过多次尝试,我没有成功理解错误以及为什么图像没有出现...这是我的代码。 我的协议(protocol).h #import @protocol myProtocol -(UIImage *)tr
我在我的应用中构建了 Firebase 通知。它是成功的工作。但如果通知数据等于“第二”,我想打开,然后在我的应用程序中打开 SecondViewController。我能怎么做?我使用 userIn
我有两个 ViewController。我的第一个 View 有两个按钮(按钮 1 和按钮 2,每个按钮都使用 UIImageView 连接到第二个 View 。 我想要发生的是,当我按下按钮 1 时
我正在使用以下 Pod:https://github.com/xxxAIRINxxx/MusicPlayerTransition 。当我进行音乐播放器转换并关闭它时, Collection View
我正在我的 iOS 应用中实现 Admob 插页式 Admob 广告。我需要在从第二个 View Controller 到(主) View Controller 的转换之间显示广告。我将第二个 Vie
我有 TreeView Controller 。当 secondViewController 出现时,我尝试在这个时候呈现 thirdViewController 我想关闭 secondViewCon
这是我的代码,我正在尝试使用“prepareForSegue”函数将图像从 tableViewController (firstViewController) 发送到我的 detailedViewCo
FirstViewController 中的函数调用是 - @IBAction func redViewAct(sender :UIButton) { let nextview = s
我是一名优秀的程序员,十分优秀!