如何使用 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? [复制] 的相关文章

  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • Swift Codable 将空 json 解码为 nil 或空对象

    这是我的代码 class LoginUserResponse Codable var result String var data LoginUserResponseData var mess String public class Log
  • 从命令行调试 iOS 应用程序构建

    我正在通过命令行构建 iOS 应用程序 但在调试它时遇到问题 如果我使用 XCode 进行构建 它会让我在设备上 构建和调试 而不会出现任何问题 但现在 我不知道如何使用 gdb 在设备上启动它并逐步执行它 如果我尝试 添加自定义目标 可执
  • 当 UITextField 已满或空时显示警报 Swift

    下面的代码中 如果 userNameTF 或 passwordTF 已满或为空 则会显示警报 IBAction func LoginBtn sender AnyObject let userName userNameTF text let
  • 自定义 UITableViewCell 选择样式?

    当我点击我的UITableViewCell 当我单击单元格时 背景部分 我的背景图像未覆盖的区域 会变成蓝色 另外 所有的UILabel单击时单元格上的 s 变为白色 这就是我想要的 然而 我不想要的是当我点击它时的蓝色背景 但如果我这样做
  • 为什么我不能在 Realm 属性上使用 private

    我正在尝试在 RealmSwift 中存储一个枚举案例 但 Realm 不支持枚举 本文 https medium com it works locally persisting swift enumerations with realm
  • iPhone UINavigationBar 使用 [UINavigationBar 外观] 更改所有控制器的字体样式

    我知道我可以单独更改导航栏的字体 如本答案所述 更改导航栏的字体 https stackoverflow com questions 5832036 change the navigation bars font 目前我正在使用一种更全局的
  • 如何解决 CoreData mogenerator 未找到问题

    我收到如下所示的错误 我不知道我错过了什么 我该如何解决这个问题 如下图所示 Users nischalhada Documents XcodePro mnepalnews revisited 2 0 CoreData mogenerato
  • 如何将字符串日期转换为 NSDate?

    我想转换字符串 2014 07 15 06 55 14 198000 00 00 to an NSDate在斯威夫特 尝试这个 let dateFormatter NSDateFormatter dateFormatter dateForm
  • 使用 Interface Builder 创建 UIScrollView 的步骤

    我正在尝试使用 UIScrollView 但似乎有一些基本的事情我不理解 假设我想在我的 iPhone 应用程序中使用 UIScrollView 我有一个充满按钮的视图 尺寸为 320x700 显然 这对于 320x480 的 iPhone
  • 添加自定义过渡会导致 xib 加载错误的屏幕尺寸

    我正在尝试向具有 xib 的 UIViewController 添加自定义过渡 我尝试了几种方法 但它们都有相同的问题 视图显示的屏幕尺寸错误 我当前的示例基于以下教程 使用 Swift 在 iOS 中自定义 UIViewControlle
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • 进入前台后刷新数据

    更改默认设置后 我想在AppDelegate中进入前台时刷新myViewController的数据 我所做的是 AppDelegate m void applicationDidFinishLaunching UIApplication a
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • iphone:如何停止快门动画?

    我有两个问题 1 我想知道如何在相机加载时停止快门动画 我正在使用 UIImagePickerController 我已经参考了堆栈溢出的许多答案 但没有成功 2 我在相机中有一个自定义按钮 使用cameraOverlayView并想通过单
  • WhatsApp 显示警告“此项目无法共享。请选择其他项目。”对于 iOS 应用程序。

    我正在开发一个 iOS 应用程序 在该应用程序中 我有社交共享功能 并且社交共享功能使用深度链接来共享 URL 该网址共享对于所有应用程序都运行良好 除了WhatsApp 它会显示一个警报弹出窗口 此项目无法共享 请选择其他项目 以下是我的
  • init 中的 Swift 通用约束

    我有通用的 我希望能够用特定的约束来初始化它 约束仅用于初始化 班里的其他人并不关心 这是一个简化的示例 struct Generic
  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的
  • 苹果推送通知在生产中不起作用

    我们完全陷入困境 请帮忙 我和我的团队制作了一个 iPhone 应用程序 这是我们第一次在 iOS 上尝试 一切都很好 直到我们提交应用程序并在应用程序商店上可用为止 推送通知服务无法正常工作 我在网上搜索并尝试根据人们的建议仔细检查我们的

随机推荐

  • 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