swift系列:新手村第二周

来源:互联网 发布:mac中的远程光盘 编辑:程序博客网 时间:2024/06/02 05:17

上周一半忙一半懒,没输出.......


1.异步运行

let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)

present(alert, animated: true, completion: nil)

此处present()只是让对话框alert显示在屏幕上,然后就迅速返回,写在其后面的语句会继续执行下去,而不会等待对话框关闭。

(注:原文中是presentViewController(),我学习的时候swift已升级)


1iOS中,对话框的运行是异步(asynchronously)的。

2) 同步运行:其它代码必须等待当前的代码完成后才能继续执行;

    异步运行:其它代码无需等待当前的代码完成后就可继续执行;

                       比如一些需要在后台执行的处理,不能或不需等待其完成才进行后续处理。


2.提示框

1)使用UIAlertController定义提示框,包括提示框的文字内容,以及外观样式

let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)

2)使用UIAlertAction定义提示框上的按钮对象,包括按钮上的文字内容,以及它的外观显示;

let action = UIAlertAction(title: btn_message, style: .default, handler: nil) 

3个参数handler告诉提示框对象当按钮被触碰时应该发生什么事情,nil意味着什么也不会发生

3)使用addAction往提示框上添加按钮

alert.addAction(action)


3.callback回调模式

当触碰提示框上的按钮,它就会把自己从屏幕上删除,并发送一条消息。这就是callback(回调)模式。

iOS中有几种方式来实现:

1)闭包

let action = UIAlertAction(title: btn_message, style: .default, handler: {action in self.方法1 self.方法2}) 

把触碰按钮后要执行的动作,放到一个块语句中,做为handler的参数。

这种块语句被称为closure(闭包)。

closure(闭包)中必须使用self来代表视图控制器。这是因为闭包可以capture(捕获)变量,引起一些副作用(还没学到,待补充。。。)


2)其它的还没学到,待补充。。。



0 0
原创粉丝点击