【swift学习笔记】一.页面转跳的条件判断和传值
时间:2022-04-25
本文章向大家介绍【swift学习笔记】一.页面转跳的条件判断和传值,主要内容包括一:页面转跳、二.页面传值、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
在转跳页面之前我们可能会判断一下是否有输入正确的数据,如下图所示,如果没有数据输入则弹出提示,不进行转跳。
一:页面转跳
1.第一个页面的上放上一个Label一个textfield和一个按钮
2.在第二个窗体上放两个label和一个按钮,并指定一个ViewController
3.创建Segue连接两个窗体,打开模式选择modal,并给Segue命名为"openView"
3.页面1 中创建输入文本框的引用和按钮的点击Action
在Action里判断文本是否有数据,如果没有则弹出提示,如果有则打开新窗体
@IBAction func passNameToView(sender: AnyObject) {
guard let text = teName.text where !text.isEmpty else {
let title = "Warning"
let message = "please enter name!"
let okText = "Ok"
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
let okButton = UIAlertAction(title: okText, style: .Cancel, handler: nil)
alert.addAction(okButton)
presentViewController(alert, animated: true, completion: nil)
return;
}
self.performSegueWithIdentifier("openView", sender: self)
// or if let text = teName.text where !text.isEmpty
}
这样就可以打开新窗体了。
4.从新窗体返回原窗体
页面2中的按钮建立一个Action代码如下
@IBAction func backToParent(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
二.页面传值
1.在页面2中声明一个字符串变量用于接收传过来的信息和一个lable的引用,在加载完窗体后显示在label中
@IBOutlet weak var receiveName: UILabel!
var receivedStr: String = ""
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
receiveName.text = receivedStr
}
2.页面1 重写prepareForSegue方法 把值输入的值传递给页面2
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "openView" {
if let secondView = segue.destinationViewController as? SecondViewController {
secondView.receivedStr = teName.text!
}
}
}
ok整个过程完毕。
完整代码:判断条件页面转跳.zip
- Medium网友开发了一款应用程序 让学习算法和数据结构变得更有趣
- 数据库安全·Token 认证
- 数据库安全·用户/角色认证
- 防止在训练模型时信息丢失 用于TensorFlow、Keras和PyTorch的检查点教程
- 帝国cms如何调用栏目别名作为分类标题?[!--classname--]标签不能用
- 高级软件工程师(面试题)
- 高级软件工程师 2016-9月更新
- Httpclient 调用 HTTPS 加密通道的Restful服务
- 使用 Jersey 调用 Restful 服务
- 【学术】将吴恩达的第一个深度神经网络应用于泰坦尼克生存数据集
- 使用 HttpClient 调用 Restful 接口
- 元宵佳节:看Oracle技术粉们用SQL画团圆
- java 脚本引擎
- 不怕学不会 使用TensorFlow从零开始构建卷积神经网络
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Golang语言之字符串操作
- Go语言ORM-gorm学习笔记(二)
- TypeScript: 常用的高级类型
- TypeScript:得泛型者,得天下
- 微信PC端多开的秘密
- Spring Cloud 微服务(七)- 上:日志收集集成
- Spring Cloud 微服务(七)- 下:日志收集详解
- Spring Cloud 微服务(八):链路追踪
- 一文带你网络安全 入门到入* [网络安全]
- 小白也能秒懂Vue源码中那些精细设计(选项处理)
- 软件品质评测系统-任务分发管理平台
- 彻底解决小程序无法触发SESSION问题
- 如何搭建前端异常监控系统
- JS+CSS 3实现图片滑块效果
- 深入理解 AuthenticationManagerBuilder 【源码篇】