如何将参数传递给导航控制器内的弹出视图控制器

2023-12-07

我有一个带有分割视图的 iPad 应用程序,并且详细视图控制器的导航栏中有一个右栏按钮。

该按钮调用由导航控制器和两个表视图组成的弹出窗口。 如下图所示

enter image description here

由于故事板在图片上很小,我添加了一些解释。 白色控制器是detailViewController(splitviewcontroller 的右侧),它位于导航控制器内。白色视图右侧的三个视图从左到右分别是:navigationController、firstTableView、secondTableView。

我的问题是我需要将参数传递给第一个表视图才能正确配置它。

当视图控制器共享相同的导航控制器时,我常常这样做。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([[segue identifier] isEqualToString:@"popoverButtonSegue"]){
        MyPopoverFirstTableViewController *popoverFirstTVC = [[MyPopoverFirstTableViewController alloc] init];

        popoverFirstTVC = segue.destinationViewController;
        popoverFirstTVC.property1 = aProperty1;
        popoverFirstTVC.property2 = aProperty2;
    }
}

我的问题是,这样做时出现错误,因为目标控制器不是我的 popoverFirstTableViewController 但 NavigationController 和导航控制器当然没有“property1”和“property2”。

也许这是一个基本问题,但我被困在这里。

当此表位于导航控制器内时,如何通过分配我定义的一些属性来配置我的表视图?


所有功劳都属于@Michael Kernahan,但只要他不将其发布为答案,我就会将其写为后续内容,供寻找相同答案的人使用。

就我而言,问题是我正在分配目标控制器,即导航控制器

popoverFirstTVC = segue.destinationViewController; 

我应该做的是访问该导航控制器的 topViewController 。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([[segue identifier] isEqualToString:@"popoverButtonSegue"]){
        MyPopoverFirstTableViewController *popoverFirstTVC = (MyPopoverFirstTableViewController *)((UINavigationController *) segue.destinationViewController).topViewController;

        popoverFirstTVC.property1 = aProperty1;
        popoverFirstTVC.property2 = aProperty2;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将参数传递给导航控制器内的弹出视图控制器 的相关文章

  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • NSTimer 不触发选择器

    在带有 ARC 的 ios5 0 中 在我的 rootviewcontroller 中 我调用由应用程序委托持有的安全管理器对象中的方法 在该方法中 我设置计时器如下 NSTimer timer NSTimer scheduledTimer
  • UITableView 滑动删除 iOS 上的手势冲突

    我的手势识别器有问题 我的目标是在表视图中实现使用滑动删除 但我认为其他手势是相互冲突的 我正在使用这个库romonthego REFrostedViewController https github com romaonthego REF
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • 在视图之间传递核心数据实体变量

    我无法理解如何在视图之间使用核心数据实体变量 为了更好地理解我的问题是什么 我的代码如下 View A 基本上 您必须将完整预算实体或相关预算实体的 ID 从视图 A 传递到视图 B 由于不知道您的应用程序的视图层次结构和逻辑 我假设您选择
  • XCode 4.5 给我“SenTestingKit/SenTestKit.h”文件未找到,但适用于 4.4.1

    我刚刚安装了 XCode 4 5 它在我现有的项目之一上给了我一个 SenTestingKit SenTestingKit h 文件未找到错误 此错误仅发生在 XCode 4 5 中 但它在 4 4 1 上编译正常 我已经检查过SenTes
  • 企业发行版在 Swift 应用程序中与 iOS8 配合不佳

    我在使用 swift 应用程序在 iOS 8 设备上运行 Enterprise 版本时遇到问题 如果我使用非企业帐户进行代码签名 它似乎工作正常 有人遇到这个问题吗 以下是我在尝试使用企业帐户运行构建以进行协同设计时在 iOS 设备上收到的
  • Parse.com 和 Facebook 登录,运行无限循环

    我将 Parse 和 Facebook iOS SDK 都更新到了最新版本 当我尝试使用 Facebook 登录时 我的应用程序崩溃了 从调试器中我可以看到它正在无限循环中调用 3 4 个方法 我的登录代码如下所示 void openSes
  • 如何解决 CoreData mogenerator 未找到问题

    我收到如下所示的错误 我不知道我错过了什么 我该如何解决这个问题 如下图所示 Users nischalhada Documents XcodePro mnepalnews revisited 2 0 CoreData mogenerato
  • 以编程方式触发iOS摇动事件

    如何以编程方式触发 iOS 中的摇动事件 我尝试过以下方法 但它总是崩溃 void shake NSLog TEST UIMotionEventProxy m NSClassFromString UIMotionEvent alloc in
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • 检测 AvPlayer 何时切换比特率

    在我的应用程序中 我使用 AVPlayer 通过 HLS 协议读取一些流 m3u8 文件 我需要知道在流会话期间 客户端切换比特率多少次 我们假设客户端的带宽正在增加 因此客户端将切换到更高比特率的段 AVPlayer能检测到这个开关吗 T
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • NVActivityIndi​​catorView 仅适用于特定视图

    我正在使用这个库https github com ninjaprox NVActivityIndi catorView https github com ninjaprox NVActivityIndicatorView用于显示加载指示器
  • 指定访问组时出现 KeychainItemWrapper 错误

    相当长一段时间以来 我一直在使用 KeychainItemWrapper 的 ARC 版本成功读取和写入私有钥匙串项目 我现在正在努力将我的 iOS 应用程序转换为使用共享访问组 以便我的 2 个共享相同应用程序前缀的应用程序可以访问钥匙串
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController
  • 苹果推送通知在生产中不起作用

    我们完全陷入困境 请帮忙 我和我的团队制作了一个 iPhone 应用程序 这是我们第一次在 iOS 上尝试 一切都很好 直到我们提交应用程序并在应用程序商店上可用为止 推送通知服务无法正常工作 我在网上搜索并尝试根据人们的建议仔细检查我们的
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if

随机推荐

  • Swift:手势识别器无法识别选择器发送到实例

    我正在尝试在 XCode 中制作手势识别器 以便我可以点击 MKMapView 并执行一些操作 但是 每当我长按地图时 我都会收到 发送到实例的无法识别的选择器 这是我在 viewDidLoad 中的代码 let gestureRecogn
  • 在 JavaScript 中更改输入值并提交表单

    我目前正在制作一个基本表格 当您点击提交按钮时 它应该首先更改字段的值 然后像平常一样提交表单 一切看起来有点像这样
  • Jetty SslConnector 已弃用的方法

    SslConnector java最新的 Jetty 中的界面已更改7 3 1 v20110307 几乎所有方法都已被标记为已弃用 而没有提及要使用的替换接口或方法 我已经检查过码头用户 and 码头开发邮件列表中的信息没有运气 有谁知道将
  • Zend_Form:带有复选框的 HTML 表中的数据库记录

    我正在尝试将 HTML 多列表添加到 Zend Form 该表将由数据库中的数据填充 并且每行前面应有一个复选框 如下面的 ASCII 所示 Column 1 Column 2 Column 3 x Row 1 Some data more
  • 如何将 Drawable 资源写入文件?

    我需要出口一些Drawable资源到文件 例如 我有一个函数返回给我一个Drawable目的 我想把它写到一个文件中 sdcard drawable newfile png 我该怎么做 尽管这里的最佳答案有一个很好的方法 这只是链接 以下是
  • 向 Netbeans 应用程序的基于 Inno 的设置添加其他文件

    我在用Inno 5 设置安装程序位于Netbeans将我的 Java Swing 应用程序构建为可执行设置文件 它创建一个包含所有 lib 所有 jar 文件 和 app jar 的 app exe 安装文件 因此 一旦用户执行 app e
  • 纠结于如何使用 api 响应进行调用以从不同的链接检索响应

    我目前在使用 PokeApi 时遇到问题 我有代码可以让我查看 Pokemon 的名称以及 Pokemon 的其他 JSON 的 URL 但我不太确定如何检索该数据 这是我到目前为止所拥有的 这是 api 的链接 让 pokeList im
  • 使用 Gmail SMTP 发送电子邮件时出错

    我正在尝试使用 Gmail SMTP 发送电子邮件PHPmailer 问题是我有这个错误 SMTP gt ERROR Failed to connect to server php network getaddresses getaddri
  • 使用正则表达式以任意顺序排列多个单词[重复]

    这个问题在这里已经有答案了 正如标题所说 我需要在句子中找到两个特定的单词 但它们可以是任何顺序和任何大小写 我该如何使用正则表达式来做到这一点 例如 我需要提取单词test and long从下面的句子中是否该词test首先出现或long
  • Linq2SQL:更新对象未在数据上下文中创建

    通常 当您在 linq2sql 中更新对象时 您会从数据上下文中获取该对象并使用相同的数据上下文来保存该对象 对吧 更新尚未由用于执行保存操作的数据上下文检索的对象的最佳方法是什么 即我使用Florinefx在flex和asp net之间传
  • 错误代码 1005,SQL 状态 HY000:无法创建表 errno:150

    我正在尝试创建一个表 但是当我的 netbeans 出错数据库的第一个表时 脚本就会失败 如何解决这个问题 CREATE TABLE filmy Film Id int NOT NULL Nazwa varchar 250 Adres va
  • HttpModule 仅在特定 MVC 路由上

    我有一个习惯IHttpModule我只想在特定路线上工作 例如 http example com HandleAzureTask 我希望这个模块只能在 HandleAzureTask route 由于这不是控制器 我无法真正设置 Autho
  • UINavigationBar 旋转和自动布局

    关于通过将 UINavigationBar 插入场景来设计自己的视图控制器 我发现了许多关于旋转设备时框架高度如何不改变的问题的参考 这与 Apple 在其导航控制器中使用 UINavigationBar 的方式形成鲜明对比 其中导航栏的高
  • 如何在 Easy Slider 1.7 中重新启动滑动动画

    我有一个关于 jQuery Easy Slider 1 7 的问题http cssglobe com post 5780 easy slider 17 numeric navigation jquery slider带有数字导航 当我使用滑
  • R线性回归公式中的大写字母“I”是什么意思?

    我一直无法找到这个问题的答案 主要是因为谷歌搜索带有独立字母 如 I 的任何内容都会导致问题 我 在这样的模型中做什么 data rock lm area I peri mean peri data rock 考虑到以下方法不起作用 lm
  • 用于匹配包含点的整个单词的正则表达式

    在下面的句子中 我下午 5 点就醒了 今天 我想匹配5 p m 该模式的工作原理 5 p m 但我希望它只匹配整个单词 所以下午 5 点不会匹配 所以我使用了这个模式 b5 p m b 但由于点的原因 这不起作用 解决这个问题最简单的正则表
  • 如何从git暂存区删除文件?

    我对本地存储库中的一些文件进行了更改 然后我做了git add A我认为向暂存区域添加了太多文件 如何删除暂存区中的所有文件 完成后 我将手动执行git add filename 您可以使用以下命令从索引中取消暂存文件 git reset
  • 如何比较android中的字符串大于

    我想知道是否有一种方法可以将android中的字符串与大于或 gt 进行比较 可以说我有这个 String numbers number getText toString if numbers equals 9 output setText
  • Google Oauth 给出代码兑换错误

    您好 我正在开发一个用户通过谷歌帐户登录的项目 本地主机 我已经实现了谷歌注册 当我从我的帐户登录时 我收到以下错误 TokenError Code was already redeemed at Strategy OAuth2Strate
  • 如何将参数传递给导航控制器内的弹出视图控制器

    我有一个带有分割视图的 iPad 应用程序 并且详细视图控制器的导航栏中有一个右栏按钮 该按钮调用由导航控制器和两个表视图组成的弹出窗口 如下图所示 由于故事板在图片上很小 我添加了一些解释 白色控制器是detailViewControll