栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

快速访问另一个Viewcontroller的实例

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

快速访问另一个Viewcontroller的实例

1.如果包含文本字段的视图控制器可以调用(通过segue)包含标签的视图控制器…

在您的项目中添加一个新的Cocoa Touch类文件,为其命名

FirstViewController
并在其中设置以下代码:

import UIKitclass FirstViewController: UIViewController {    @IBOutlet weak var textField: UITextField! // FIXME: link this to the UITextField in the Storyboard!!!    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {        let controller = segue.destinationViewController as! SecondViewController        controller.text = textField.text    }}

在您的项目中添加一个新的Cocoa Touch类文件,为其命名

SecondViewController
并在其中设置以下代码:

import UIKitclass SecondViewController: UIViewController {    var text: String?    @IBOutlet weak var label: UILabel! // FIXME: link this to the UILabel in the Storyboard!!!    override func viewDidLoad() {        super.viewDidLoad()        label.text = text    }}

在情节提要中,将第一个视图控制器嵌入到中

UINavigationController
。使用
UIButton
或将第一个视图控制器链接到第二个
UIBarButtonItem
。将第一个视图控制器
FirstViewController
的名称设置为,将第二个视图控制器的名称设置为
SecondViewController
UITextField
在第一个视图控制器中创建一个。
UILabel
在第二个视图控制器中创建一个。链接文本框,并在标签各自的声明
FirstViewController
SecondViewController


2.如果包含标签的视图控制器可以调用(通过segue)包含文本字段的视图控制器…

在这里,这是一个完美的协议/代理案例。您可能会在StackOverflow上找到很多与此相关的东西。但是,这是一个粗糙的示例。

在您的项目中添加一个新的Cocoa Touch类文件,为其命名

FirstViewController
并在其中设置以下代码:

import UIKitclass FirstViewController: UIViewController, DetailsDelegate {    @IBOutlet weak var label: UILabel! // FIXME: link this to the UILabel in the Storyboard    func updateLabel(withString string: String?) {        label.text = string    }    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {        let controller = segue.destinationViewController as! SecondViewController        controller.delegate = self    }}

在您的项目中添加一个新的Cocoa / Cocoa Touch类文件,为其命名

SecondViewController
并在其中设置以下代码:

import UIKitprotocol DetailsDelegate: class {    func updateLabel(withString string: String?)}class SecondViewController: UIViewController {    weak var delegate: DetailsDelegate?    @IBOutlet weak var textField: UITextField! // FIXME: link this to the UITextField in the Storyboard    override func viewWillDisappear(animated: Bool) {        super.viewWillDisappear(animated)        delegate?.updateLabel(withString: textField.text)    }}

在情节提要中,将第一个视图控制器嵌入到中

UINavigationController
。使用
UIButton
或将第一个视图控制器链接到第二个
UIBarButtonItem
。将第一个视图控制器
FirstViewController
的名称设置为,将第二个视图控制器的名称设置为
SecondViewController
UILabel
在第一个视图控制器中创建一个。
UITextField
在第二个视图控制器中创建一个。链接文本框,并在标签各自的声明
FirstViewController
SecondViewController



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484519.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号