如何使用 Swift 在关闭 ViewController 期间将值从 ViewController B 传递到 ViewController A? [复制]

2024-03-05

我的场景,我试图传递值ViewController B to ViewController A在关闭视图控制器期间。这里我使用了下面的代码,但我无法获取其中的值ViewController A.

视图控制器B

// protocol used for sending data back
protocol isAbleToReceiveData {
    func pass(data: String)  //data: string is an example parameter
}

// Making this a weak variable so that it won't create a strong reference cycle
var delegate: isAbleToReceiveData?

override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(true)
        self.delegate?.pass(data: "someData") //call the func in the previous vc
}

@IBAction func Click_action(_ sender: Any) {
        self.dismiss(animated: false, completion: nil)
        self.delegate?.pass(data: "someData") 
 }

视图控制器A

class MyViewController: UIViewController, isAbleToReceiveData {

func pass(data: String) {
        print("USER: \(data)")
    }
}

// MARK: FromTouch Action
    @objc func fromTouchTapped(_ sender: UITapGestureRecognizer) {

        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let viewController = storyboard.instantiateViewController(withIdentifier: "ViewControllerB")
        viewController.modalTransitionStyle = .crossDissolve
        let navController = UINavigationController(rootViewController: viewController)
        present(navController, animated: true, completion: nil)
    }

一切都正确,您错过了在您的分配代表ViewControllerA在场时ViewControllerB.

if let VC_B = self.storyboard?.instantiateViewController(withIdentifier: "ViewControllerB") as? ViewControllerB{
    VC_B.delegate = self
    VC_B.modalTransitionStyle = .crossDissolve
    self.present(VC_B, animated: true, completion: nil)
}

Note

让视图控制器= self.storyboard?.instantiateViewController(withIdentifier: “ViewControllerB”)作为?视图控制器B

代替

让视图控制器= self.storyboard?.instantiateViewController(withIdentifier: “视图控制器B”)

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

如何使用 Swift 在关闭 ViewController 期间将值从 ViewController B 传递到 ViewController A? [复制] 的相关文章

  • Cordova 2.4.0 或 2.5.0 或 2.6.0 和 requirejs

    Cordova 2 4 0 及更高版本支持 AMD 加载到 javascript 中 我特别希望将 Cordova 2 5 0 与最新版本的 RequireJS backbone jquery jquery mobile 一起使用 我还没有
  • 如何开始复杂级别的跨平台移动应用开发? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • .showsPhysics 内存泄漏

    我最近花了 5 个小时尝试调试 Spritekit 应用程序中的内存泄漏 应用程序启动后 我注意到内存使用量略有上升 我花了 5 个小时中的 3 个小时挖掘参考资料 了解强与弱的关系ARC https developer apple com
  • Swift 协议扩展实现另一个具有共享关联类型的协议

    考虑以下 protocol Foo typealias A func hello gt A protocol FooBar Foo func hi gt A extension FooBar func hello gt A return h
  • 如何从 ContentView 外部显示 SwiftUI 警报?

    我正在构建 Swift 应用程序 并试图找出如何显示警报 我有一个单独的 swift 文件正在执行一些计算 并且在某些条件下我希望它向用户显示警报 基本上告诉他们出了问题 然而 我见过的大多数例子都要求警报在ContentView或以其他方
  • Swift SpriteKit edgeLoopF​​romRect 问题

    下面的代码可以识别底部和顶部边缘场景和球按预期弹开 但是 那左边缘和右边缘现场的情况一直被破坏 如果施加足够的力 球会离开屏幕 然后最终返回 就好像场景的边缘超出了 iPhone 模拟器窗口的边缘 import SpriteKit clas
  • 如何从 SDK 实现每个会话的 Google Places 自动完成功能?

    是否可以从 Android 和 iOS 应用程序的 place sdk 实现基于会话的自动完成 根据 6 月 11 日生效的新 Google 地图框架定价 对自动完成的请求可以分为基于击键 会话的请求 我找不到描述实施步骤的文档 除了这个参
  • 有关 Swift 编译器选项的文档

    您好 我想开始在 Apple Swift 语言上运行一些微基准测试 然而 我觉得很难找到有关编译器优化的不同选项的适当文档 我读过很多关于其他人的语言微基准的问题和文章 但是如果能有一些关于该主题的可靠文档那就太好了 在最新的测试版中 使用
  • (Kiss)XML xpath 和默认命名空间

    我正在开发一个 iPhone 项目 需要解析一些 xml xml 可能包含也可能不包含默认名称空间 我需要知道如何解析 xml 以防它使用默认命名空间 由于我需要读取和写入 xml 因此我倾向于使用 KissXML 但我愿意接受建议 这是我
  • 如何在 Swift 中从 UIColor 获取 RGB 代码(INT)[重复]

    这个问题在这里已经有答案了 我想在 Swift 中获取 UIColor 的 RGB 值 let swiftColor UIColor red 1 green 165 255 blue 0 alpha 1 println RGB Value
  • 调整 UIImage 的大小而不将其完全加载到内存中?

    我正在开发一个应用程序 用户可以在其中尝试加载非常非常大的图像 这些图像首先在表格视图中显示为缩略图 我的原始代码会在大图像上崩溃 因此我重写它以首先将图像直接下载到磁盘 是否有一种已知的方法可以调整磁盘上图像的大小 而无需通过以下方式将其
  • 贴纸包会在模拟器上使 iMessage 崩溃,但在 iPhone 上不会崩溃

    按照 Apple 的在线说明和视频在 Xcode 中创建了一个贴纸包 所有图像的尺寸均正确且远低于文件大小阈值 如果我在我的实体 iPhone 上构建并运行贴纸包 一切都会完美运行 如果我在模拟器上构建并运行贴纸包 对于任何模拟的 iPho
  • 如何在button.addTarget操作中发送多个按钮?斯威夫特3

    如何将button和button2发送到我的pressButton2函数中 当用户触摸按钮2时 我需要更改按钮和按钮2的颜色 当我的 button2 addTarget 看起来像这样时 我收到错误 表达式列表中存在预期表达式 import
  • 根据一个数组对多个数组进行排序

    如何根据数组对一堆数组进行排序createdAt 例如 2015 11 02 19 19 35 0000 将它们组合成另一种类型 字典 以便在 tableView 中使用是否有益 如果有的话如何 var comment AnyObject
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • UIView 圆角 - Swift 2.0?

    我会尝试将一些项目更新到 Swift 2 0 我有一个视图 左上角有一个圆角 在 Swift 没有警告 没有错误 只是没有圆角 这就是它在 Swift let maskPath UIBezierPath roundedRect conten
  • 如何使用 RX 应用宽限时间?

    我有一个Observable
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • CoreBluetooth:检测设备超出范围/连接超时

    我正在设计一个 iOS 框架来处理多个 BLE 设备 均为同一类型 目前一切都运行良好 除了一件事 客户想要一个包含可用设备的列表 但是 我如何检测过去发现的设备何时不再可用 当我尝试连接到不再可用的设备时 会出现另一个问题 文档说 连接尝
  • SpriteKit的更新函数:时间与帧率

    一般来说 我对编程和 Spritekit 很陌生 并且有兴趣探索毫秒和帧率之间的关系 以及如何使用更新函数作为两者之间的中介 帧率与毫秒 从本质上讲 帧速率和时间之间的主要区别在于时间始终一致 而帧速率则不然 由于密集的图形程序 它可能会下

随机推荐

  • php 仅从 url 获取文件名,不包含 url 中存在的任何变量值

    我想获取没有任何文件名 GETphp 中 URL 的变量值 我的网址是http learner com learningphp php lid 1348 我只想找回learningphp php从网址 这个怎么做 I used basena
  • Apache 文件缓存

    apache 如何处理某些文件的缓存 是否可以通过给定主机或虚拟主机的标准配置文件明确指出某些文件应该比其他文件更积极地缓存 具体来说 我在各种 XML 文件中保存了大量网站内容 并且我希望能够说该文件将被大量使用 因此会尽可能多地缓存它
  • 如何将 https://example.com/ 重定向到 https://www.example.com/

    我的代码中有这个代码 htaccess文件如下图所示 RewriteEngine On RewriteCond HTTPS off RewriteRule https HTTP HOST REQUEST URI 添加此内容是为了将 http
  • 多进程 vs 多线程 Python 耗时

    我有 2 个简单的函数 在一定范围内循环 可以单独运行而无需任何依赖 我正在尝试使用 Python 多处理模块和多线程模块来运行这两个函数 当我比较输出时 我发现多进程应用程序比多线程模块多花费 1 秒 我读到 由于全局解释器锁 多线程效率
  • 在 Java 中使用 Mockito 模拟枚举

    如何使用 Mockito 模拟枚举以进行测试 给出枚举的示例 public enum TestEnum YES NO 这是使用枚举的方法 public static boolean WorkTheEnum TestEnum theEnum
  • fopen 与 unicode 文件名

    我必须使用一个接受文件名作为字符串的库 const char 内部文件打开方式为fopen 有没有办法让这个库接受 unicode 文件名 我可以用吗宽字符到多字节 http msdn microsoft com en us library
  • 如何处理打字稿中异步函数的返回值? [复制]

    这个问题在这里已经有答案了 caseService 函数处理 HTTP 请求和响应并返回单个对象 我想归还对象 但由于它是一个异步功能 因此它返回空对象 this caseBook 我希望它仅在对象具有价值后才返回该对象 public in
  • Keycloak 8:已添加用户名“admin”的用户

    我无法使用 Ansible 和 Docker Compose 启动 Keycloak 容器 我收到错误 用户名 admin 的用户已添加到 opt jboss keycloak standalone configuration keyclo
  • 如何展平散列,使每个键成为唯一值?

    我想采用带有嵌套哈希和数组的哈希 并将其展平为具有唯一值的单个哈希 我一直试图从不同的角度来解决这个问题 但后来我把它变得比需要的更加复杂 让自己迷失在正在发生的事情中 源哈希示例 Name gt Kim Kones License Num
  • ArangoDB 和用户定义的函数或存储过程

    ArangoDB 文档 Foxx 部分 说 由于 Foxx 直接在 ArangoDB 内部运行 因此您可以将处理请求所需的所有数据库查询和逻辑捆绑在一个位置 除了使用 Foxx 框架 之外 还有其他 更原生 的方法来实现与 ArangoDB
  • 在 ASP.Net 中编写自定义 NTLM 质询/响应

    我知道您可以启用 NTLM验证在 ASP Net 应用程序中使用
  • 通过 React setState 使用子键的计算值

    我希望能够使用计算值sub keys在 React 中更新状态时 我了解如何在简单的设置中使用计算值 如下所示 this setState name value 但我在让键值计算适用于这样的情况时遇到困难 constructor props
  • 在 iPhone 中将 NSTimeInterval 转换为 NSString?

    如何将 NSTimeInterval 转换为字符串 我有 NSTimeInterval today NSDate date timeIntervalSince1970 我必须将 今天 作为 NSString 的输入 NSTimeInterv
  • 使用可配置键进行 Swift 4 JSON 解码

    我是 Swift 新手 我需要用一些东西来解析 JSON可配置按键 与我在这里看到的许多示例相反 密钥是已知的before解码操作开始 它们只依赖于传递给端点的一些参数 Example https some provider com end
  • 每个点都有时间序列的点之间的相关性下降

    我正在研究如何快速实现计算点 X Y Z 中 之间的相关性 并在给定搜索方向的情况下测量相关性何时低于某个阈值 我之前提出过一个相关问题计算点之间的相关性 其中每个点都有一个时间序列 https stackoverflow com ques
  • 在C程序中打印日语字符

    我想使用 C 程序打印日语字符 我找到了一些日语字符的 Unicode 范围 将它们转换为十进制并使用 for 循环来打印它们 setlocale LC ALL ja JP UTF8 for int i 12784 i lt 12799 i
  • 为什么@PrimaryKey val id: Int? = null 在创建 Room 实体时有效吗?

    我正在关注有关如何使用 Jetpack Compose 创建笔记应用程序的教程 这是tutorial https youtu be 8YPXv7xKh2w t 1227 教程中有一点是他创建了这个实体 Entity data class N
  • PHP 和 JavaScript cookie

    我可以用 PHP 访问用 jQuery 的 cookie 插件编写的 cookie 吗 我知道你不能将 Javascript 设置为等于 PHP 反之亦然 但本质上是 cookie var COOKIE var 再说一次 我知道你不能将它们
  • Java 8 Stream API min() 和 max() 与收集器 minBy() 和 maxBy() [重复]

    这个问题在这里已经有答案了 在 java 8 中 Stream API 帮助我们以非常干净且更少的代码完成我们的工作 我非常喜欢这些流 API 但是 很少有操作有助于解决同一类型的问题 并且不确定何时使用哪些操作 尽管在两者之间进行选择并不
  • 如何使用 Swift 在关闭 ViewController 期间将值从 ViewController B 传递到 ViewController A? [复制]

    这个问题在这里已经有答案了 我的场景 我试图传递值ViewController B to ViewController A在关闭视图控制器期间 这里我使用了下面的代码 但我无法获取其中的值ViewController A 视图控制器B pr