无法转换“UINavigationController”类型的值

2024-05-20

我正在为我的应用程序实现一个搜索界面,因此基本上我会将搜索关键字从一个 ViewController 传递到另一个 ViewController。

我已经多次进行过这种类型的参数传递,但这次似乎有些奇怪。目标 ViewController 嵌入在导航控制器中。

现在代码看起来像这样。

override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject!) {
    if (segue?.identifier == "home_to_search") {

       var searchKeyword = txtSearchBarHome.text
       var svc = segue?.destinationViewController as! SearchViewController;
       svc.toPassSearchKeyword = searchKeyword;

       //let nav = segue?.destinationViewController as! UINavigationController
       //let svc = nav.topViewController as! SearchViewController
       //svc.toPassSearchKeyword = searchKeyword;
    }
}

我已经探索过这些问题DestinationViewController Segue 和 UINavigationController swift https://stackoverflow.com/questions/28573635/destinationviewcontroller-segue-and-uinavigationcontroller-swift, 当我的 ViewController 嵌入到 UINavigationController 中时,如何对值进行排序? https://stackoverflow.com/questions/29641325/how-do-i-segue-values-when-my-viewcontroller-is-embedded-in-an-uinavigationcontr没有运气。

让我想知道的是,我已经将 ViewController 嵌入到导航控制器中,我可以通过 Segueing 传递参数。然而,在这种情况下它会抛出一个无法转换“UINavigationController”类型的值错误。如果我尝试上面的注释代码,它不会在那里抛出错误,但在应用程序代理 class.


回答我自己的问题。在这种情况下,我们需要通过执行以下操作来访问子视图:

let nav = segue?.destinationViewController as! UINavigationController
let svc = nav.topViewController as! SearchViewController
svc.toPassSearchKeyword = searchKeyword;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法转换“UINavigationController”类型的值 的相关文章

随机推荐

  • 使用 CognitoIdentityServiceProvider 的 adminCreateUser 方法的 AWS Lambda 函数突然失败

    在过去的几天里 我一直在使用 AWS Lambda 函数测试特定流程 并且在 Cognito 用户池中预注册后触发的 lambda 函数工作正常并很好地返回回调函数 但从昨天开始我就看到了以下错误 ntime node modules aw
  • 网站 YouTube 嵌入视频不断播放

    我正在使用 youtube 提供的 iframe 在我的网站上嵌入视频 我还使用了一个 css 弹出窗口 这是我从这个页面学到的http www pat burt com web development how to do a css po
  • LINQ to Entities 是否支持“where”子句谓词中的 IEquatable?

    我有一个名为 EntityBase 的简单基本实体类型 它实现 IEquatable 我在 LINQ to Entities 之外使用了此代码 使用EF http en wikipedia org wiki ADO NET Entity F
  • 如何在序列化器创建方法中获取 URL Id?

    我有以下网址 url r member P
  • 改变字符串颜色

    好的 这是我上一个问题的延续 但我有代码 private void btnTrans Click object sender EventArgs e var abrvStr inputBx Text foreach var kvp in d
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • python 中的代表

    我实现了这个简短的示例来尝试演示一个简单的委托模式 我的问题是 这看起来我已经理解了委托吗 class Handler def init self parent None self parent parent def Handle self
  • 如何在 SQL Server 2012 中选择除一列之外的所有列? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以选择所有列 但只选择我不想选择的特定列 我的意思是有时我会遇到这样的问题 表有数百个字段 而我只需要删除一个字段 我需要重写所有列吗 有什么窍门吗 喜欢select
  • 用于基于 MFC 的 GUI 应用程序的免费自动化测试工具

    我是 Windows 开发和测试平台的新手 我正在开发一个基于 MFC 的 GUI 应用程序 并正在寻找有助于 UI 自动化测试的工具 我搜索时出现了一大堆工具 但大多数似乎都不支持MFC 我考虑的选项是 A 编码 UI UI 自动化 看起
  • C# 是否有像 Java 那样的字符串分词器?

    我正在做简单的字符串输入解析 我需要一个字符串标记器 我是 C 新手 但已经编写过 Java 程序 因此 C 应该有一个字符串标记生成器似乎很自然 可以 它在哪里 我该如何使用它 你可以使用String Split 方法 http msdn
  • 编码用于验证 PIN 的 APDU 命令时出现问题

    我正在尝试使用发送验证 pin 命令javax smartcardioAPI 我的密码是 12345678 根据我在网上找到的一些示例 我尝试使用此 APDU 00 20 00 83 08 01 02 03 04 05 06 07 08 但
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 error type OAuthException 代码 400 error message 平台应用无效 我正在遵循此
  • 在泛型方法中返回原始集合类型

    假设我们想要创建一个像这样的函数minBy返回集合中同等极简主义的所有元素 def multiMinBy A B Ordering xs Traversable A f A gt B val minVal f xs minBy f xs f
  • 将 SoapUI 与 JUnit 集成

    我正在尝试将 SoapUI 集成到我预先存在的 JUnit 测试中 我在 SoapUI 3 6 1 中创建了一个测试 有用 我的下一步是将其应用到我的开发环境中 在我的 Eclipse 项目中 我已将 jar 添加到我的类路径中 我还创建了
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • SpriteKitPhysicsBody非矩形碰撞

    pipeUp physicsBody SKPhysicsBody rectangleOfSize pipeUp size 在此编码中我使用了rectangleOfSize对于碰撞物理体 但如果我想按像素仅使用图像的形状 我应该使用什么而不是
  • 如何正确地将 MIDI 刻度转换为毫秒?

    我正在尝试将 MIDI 刻度 增量时间转换为毫秒 并且已经找到了一些有用的资源 MIDI Delta 时间刻度到秒 http www lastrayofhope co uk 2009 12 23 midi delta time ticks
  • emacs 中 ansi term 中的奇怪字符

    我编写了一个 C 程序 当我在 ansi term 中使用 g 编译它时 显示了一些奇怪的字符 如果需要 错误是我没有声明变量 n 我该如何纠正这个问题 啊 测试了这个 setq locale coding system utf 8 set
  • Gnuplot:Logscale 似乎把事情搞砸了

    我放入了对数刻度 它弄乱了网格线的绘制 主要 x 网格线不再与主要 y 网格线具有相同的灰色 它们是次要 x 和 y 网格线的灰色 以下图片显示了这一点 关于如何解决这个问题有什么想法吗 Thanks usr bin env gnuplot
  • 无法转换“UINavigationController”类型的值

    我正在为我的应用程序实现一个搜索界面 因此基本上我会将搜索关键字从一个 ViewController 传递到另一个 ViewController 我已经多次进行过这种类型的参数传递 但这次似乎有些奇怪 目标 ViewController 嵌