首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Swift 3:如何转到以前的ViewController并重新加载它?

在Swift 3中,要返回到之前的ViewController并重新加载它,可以使用以下步骤:

  1. 确保当前的ViewController是通过导航控制器(UINavigationController)进行管理的。如果不是,可以使用以下代码将其包装在导航控制器中:let navigationController = UINavigationController(rootViewController: currentViewController)
  2. 在当前ViewController中,使用以下代码返回到之前的ViewController:self.navigationController?.popViewController(animated: true)这将从导航控制器的堆栈中弹出当前ViewController,并返回到上一个ViewController。
  3. 如果你想重新加载上一个ViewController,可以在当前ViewController中的viewWillAppear方法中执行所需的操作。viewWillAppear方法在返回到上一个ViewController并显示之前调用。

以下是一个示例代码,演示如何在Swift 3中返回到以前的ViewController并重新加载它:

代码语言:swift
复制
class CurrentViewController: UIViewController {
    // ...
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        // Reload data or perform any other necessary actions
        reloadData()
    }
    
    func goBackToPreviousViewController() {
        self.navigationController?.popViewController(animated: true)
    }
    
    // ...
}

这是一个基本的示例,你可以根据自己的需求进行修改和扩展。关于Swift和iOS开发的更多信息,你可以参考腾讯云的移动开发相关产品和文档,如腾讯云移动开发平台(https://cloud.tencent.com/product/mpp)和腾讯云移动开发文档(https://cloud.tencent.com/document/product/876)。

请注意,本答案没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,以满足问题要求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一文读懂Xcode 9 所有更新:全新模拟器,兼容Swift低版本等

另外,这次 Xcode 9 还解决了重命名在 Swift 语言中的一个老问题,就是: 常用 Swift 的同学应该都知道这个,以前版本的 Xcode 不支持 Swift 语言的重命名操作。...Swift 低版本兼容 XCode 9 使用 Swift 4 编译器。 这次新的编译器同时可以支持 Swift 3, 这样就不用立即修改项目的 Swift 代码了。...我们都知道,Xcode 左边栏中黄色的小文件夹叫做 Group: 在以前的 Xcode 版本中, 直接在这里面移动文件是不会影响文件系统位置的,比如把 ViewController.swift 文件移动到...中打开项目设置中找到: 现在还是 Preview 版本,Xcode 后面的版本会把它作为默认构建系统,感兴趣的同学也可以尝试一下。...总结 总体来说,Xcode 9 的这次升级相比以前的版本,算是一个步伐很大的更新。 全新的模拟器,Wifi 调试,新的构建系统,对 Swift 更加完善的支持,等等这些,都算是一次质的飞跃。

1.8K70
  • 聚焦位置-选择您喜欢的位置放置虚拟物体

    在上一个视频中,您学习了如何检测水平曲面并能够透视它。正如我所提到的,它们是放置物体的锚点。但是,在飞机上我们应该添加我们的物体?为此,我们需要在屏幕上选择一个点。...让我们为焦点方块添加一个新的Swift文件。右键单击视图控制器+ ARSCNViewDelegate并选择新建文件...。然后,选择Swift File,单击Next。...真棒,我们刚刚完成了课程,但我们还没有看到它。 类变量 为此,请转到ViewController.swift文件。我们将首先在sceneView声明之后为焦点方块声明一个类变量。...然而,为了在场景上定位节点,我们需要3D坐标。那么,我们如何将某些东西从2D转换为3D呢?...self绝对是必需的,因为它在一个闭包中并引用了ViewController类。不要太担心它,随着时间的推移,你将会理解所有这些对象,属性和闭包。

    2.4K30

    iOS-Swift 方法

    那咋办,我查阅了一些资料得到以下关于生成 .sil 文件 和 .ll 文件的命令。 // 将当前目录的 main.swift 文件编译成 main.sil 文件并保存到当前目录。...而 Swift 是一门静态语言,没有运行时的机制,那原生的 Swift 方法又是如何调用的呢? 我们通过汇编先来看一下,调用结构体的方法时,底层是如何调用的。...class SHPerson { func setName1() {} func setName2() {} func setName3() {} } 前面提过,blr 指令是跳转到某地址(无返回)...源码查找虚函数表 在上一篇文章 结构体与类 中,我们把 Swift 类的本质挖掘出来了,它里面有一个 metadata,metadata 里有一个成员变量,当时归纳出来,这个成员变量应该是这样: var...bl: (branch)跳转到某地址(有返回)。 blr: 跳转到某地址(无返回)。 ret: 子程序(函数调用)返回指令,返回地址已默认保存在寄存器 lr (x30) 中。

    3.1K40

    平面检测-搜索真实世界的表面

    右键单击ViewController.swift并选择新建文件...。然后,在Source下选择Swift File,点击Next。...在ViewController.swift文件中,将其删除。当我们在它时,向下滚动并删除Mark下的注释掉的代码,这是该协议下的一个方法的给定示例。Mark帮助我们分离文件中的代码段。...你在Scene Editor中看过它。您现在正在学习如何在代码中应用它。 飞机位置 所以,就像我们为手表所做的步骤一样,我们需要定位它。将平面节点放在检测到的曲面的中心。...但是,Swift将角度存储在弧度中。如何将度数转换为弧度?我们应该回顾一下我们的高中数学。为了找到弧度的等价物,这里是等式。 根据图表,你会得到90度是pi的一半。...幸运的是,Swift有一个功能,GLKMathDegreesToRadians,所以利用它。注释掉前一行代码并替换为此代码。

    2.9K30

    Swift 中风味各异的依赖注入

    本周,让我们来看看三种不同方式的依赖注入,以及它们如何在Swift中使用。...这种方式的最大好处是,它保证我们的对象拥有它们所需要的一切,以便立即开展工作。 假设我们正在构建一个从磁盘上加载文件的FileLoader。...个简单的步骤测试使用了系统单例的 Swift 代码"*中的技术是如何通过使用协议来为系统照片库类提供一个更抽象的PhotoLibrary接口。...上述做法的好处是,我们仍然可以很容易地在测试中注入模拟数据,只需重新分配视图控制器的属性: class PhotoEditorViewControllerTests: XCTestCase {...它的工作是管理用户所写的所有笔记,并提供一个API用于根据查询来搜索笔记。

    68010

    Swift 中风味各异的依赖注入

    本周,让我们来看看三种不同方式的依赖注入,以及它们如何在Swift中使用。...这种方式的最大好处是,它保证我们的对象拥有它们所需要的一切,以便立即开展工作。 假设我们正在构建一个从磁盘上加载文件的FileLoader。...个简单的步骤测试使用了系统单例的 Swift 代码"中的技术是如何通过使用协议来为系统照片库类提供一个更抽象的PhotoLibrary接口。...上述做法的好处是,我们仍然可以很容易地在测试中注入模拟数据,只需重新分配视图控制器的属性: class PhotoEditorViewControllerTests: XCTestCase {...它的工作是管理用户所写的所有笔记,并提供一个API用于根据查询来搜索笔记。

    81810

    Swift + RxSwift MVVM 模块化项目实践

    ├── Home_tCell.swift│ └── Product_tCell.swift├── ViewController│ ├── Home_vc.swift│ └── Product_vc.swift...: 模块相关管理类,包含路由注册和提供别的模块访问的管理类 View: 相关自定义的 View ViewController: 对应的 ViewController ViewModel: 对应的 ViewModel...self.refresherror.onNext(error) } }) .disposed(by: disposeBag) 上面的代码 通过信号筛选,reloadTrigger代表点击重新加载的事件...,需要界面上展示网络错误,并且显示重新加载的按钮,或者是如果在调用相机获取授权的时用户没有授权的时候,需要提示给用户授权相关的信息,等等这些逻辑处理都可以通过流的形式处理,在处理用户网络错误加载失败的时候...,通过 RxSwift 的一个很简单的 Api:withLatestFrom就能实现数据重新加载,而不需要记住各种复杂的参数。

    3.2K101

    深度学习图像识别项目(下):如何将训练好的Kreas模型布置到手机中

    当然,我以前也开发过像ID My Pill和Chic Engine之类的应用程序 ,但移动开发并不是我的特长和爱好。...然后,我使用上篇文章的代码重新训练模型。background类由从我的系统上的UKBench数据集中随机抽取的250个图像组成。 在Xcode中创建一个Swift + CoreML深度学习项目 ?...第3步:向info.plist添加一个元素 我们的应用程序访问相机,所以我们需要准备授权信息。这可以很容易地在info.plist中完成。 点击如图所示的“+”按钮, 并添加Key + Value。...它会自动导入并创建相关的Swift类: ? 第6步: 构建ViewController 打开ViewController .swift 并导入我们需要的包或框架: ?...我们在73行加载CoreML模型 。 然后,我们对给定的框架进行分类,并抓取76-79行的结果 。

    5.4K40

    汇编寄存器的规则

    # 汇编寄存器的规则 在本章中,您将了解到 CPU 使用的寄存器,并研究和修改传入函数的参数。您还将了解常见的苹果计算机架构,以及如何在函数中使用它们的寄存器。这就是所谓的架构调用约定。...了解汇编如何工作以及特定架构的调用约定如何工作是一项极其重要的技能。它可以让您观察没有源代码的函数参数,并允许您修改传入函数的参数。...,您可以找到要加载的特定 NSViewController。...在 LLDB 控制台中键入以下内容: (lldb) po $rdi 然后你会看到如下输出: ViewController: 0x6080000c13b0> 它输出了 RDI 寄存器中的...seven: Swift.Int, eight: Swift.Int, nine: Swift.Int, ten: Swift.Int) -> () + 178 at ViewController.swift

    2.6K50

    iOS - RxSwift 项目实战记录

    ReactiveX 最近刚刚把接手的OC项目搞定,经过深思熟虑后,本人决定下个项目起就使用Swift(学了这么久的Swift还没真正用到实际项目里。。。)...好吧,我们接下来说说如何优雅的来实现tableView的数据源。其实RxDataSources官网上已经有很明确的使用说明,不过我还是总结一下整个过程吧。...ViewModel的规范 我们知道MVVM思想就是将原本在ViewController的视图显示逻辑、验证逻辑、网络请求等代码存放于ViewModel中,让我们手中的ViewController瘦身。...:即可以作为Observable,也可以作为Observer,说白了就是可以发送信号,也可以订阅信号 // 外界通过该属性告诉viewModel加载数据(传入的值是为了标志是否重新加载) let requestCommond...已经拿到output,当下拉加载数据的时候,使用output的requestCommond发射信息,告诉viewModel我们要加载数据 viewModel请求数据,在处理完json转模型或模型数组后修改

    2.9K41

    Apple的Core ML3简介——为iPhone构建深度学习模型(附代码)

    并且它支持在GPU上进行训练 3)用于TensorFlow的Swift Swift for TensorFlow有一个灵活、高性能的类似于TensorFlow/PyTorch的API来构建复杂的神经网络架构...当你需要模型的高性能并希望有效地部署它们时,可以选择Swift来使用TensorFlow。...在这里,我们将看到CoreML3的另一个有趣的功能,我们如何利用CoreML3使用大量前沿的预训练模型! 下面是Core ML 3支持的模型列表。...在项目导航窗格中,选择ViewController.swift。这个文件包含了很多控制我们应用程序功能的代码。...我喜欢这个行业认真对待人工智能的方式,这让更广泛的受众能够接触到它。 我鼓励你进一步探索和尝试最新的模型,如BERT,并创建更有趣的应用程序。

    2.1K20

    窥探Swift之协议(Protocol)和委托代理(Delegate)回调的使用

    上面的Cell中就是一个ImageView和一个Label, 布局灰常简单啦,接下来就简单介绍一下在Swift中是如何实现(说白了,和Objc实现起来大同小异)。...给上述Cell绑定相应的Swift源码,并关联ImageView和Label, 相应Cell(BeautifulGrillCell)的代码如下所示。...我们在UIViewController上贴了一层UITableView, 所以我们需要在相应的ViewController对应的Swift源码中进行UITableView的绑定,并实现UITableViewDatasource...上面使用的委托回调主要是使用Swift中的协议(Protocol)来实现的。那么如何使用协议来实现你自己的委托回调呢?这将是下面将要介绍的内容。   二....认识协议,并使用协议实现委托回调     接下来的内容就要介绍如何使用协议来定义属于你自己的委托代理回调(Delegate)了。

    3.6K80

    iOS 仿支付宝银行卡界面(支持Swift和OC)

    为了实现相应的功能,仿照支付宝的银行卡卡包开发出相应的页面,页面长这个样子: 二:说明目录 创建钱包视图容器WalletView 初始化WalletView并加载钱包头部视图walletHeader 在钱包视图中重新加载卡片视图...初始化WalletView并加载钱包头部视图walletHeader 在需要加载钱包的地方初始化WalletView,并自定义头部视图walletHeader和卡片视图,Demo 中以ViewController...在钱包视图中重新加载卡片视图 在钱包视图中重新加载卡片视图,在这里为了灵活修改方便使用,页面布局可以自定义,Demo中模仿支付宝页面进行设计,在CardView视图中,主要实现页面的交互等功能,具体的UI...实现在ColoredCardView中实现并继承于CardView,下面会详细说明,重新加载卡片视图方法源码如下: open func reload(cardViews: [CardView]) {...导入项目使用介绍 最后介绍一下该如何在项目中导入该功能,下载Demo,将Demo中的FBYBankCard.framework文件和ColoredCardView.swift文件导入项目中,在需要加载的页面中直接引用即可

    1.4K20
    领券