swift系列:新手村第二周

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


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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值