Swift 学习日记 - 2(UIAlertController)

var diaryNum = 1
diaryNum += 1          // 新的 Swift 去掉了 ++ 符号
print "Hello Again!"
print "Welcome to Swift Learning Diary " + String(diaryNum) + " !"

Welcome to Swift Learning Diary 2 !

点击进入 → Swift 学习日志 - 目录/相关资料

FollowLight 改进

  • 胜利提醒增加了你玩的轮数(winningNumber)
  • 胜利后增加选项,可以直接增加难度(call 增加难度的 func)
  • 失败提醒增加了你玩的轮数
  • 开始游戏是询问是否确定,并提示点击确定便会将 winning number 的轮数变为1,这样你随时可以重头再来


UIAlertView 的退役

UIAlertView 全部被 UIAlertController 给替换,在新版本的 xCode 中,会相应报错,并且有官方文档予以参考(Important: UIAlertView is deprecated in iOS 8.)
继承于 UIViewController (前一本书有讲过关于继承的问题,inherit

以下代码引用更改自 XCode 帮助文档,没有直接拉过来是因为用实例更适合解释和接受概念(帮助文档还是需要一定基础看懂的吧…)

UIAlertView 之前什么样子?

var name : UIAlertView = UIAlertView(Title: "你想要的提示", message: "在提示下面的小字信息", delegate: self, cancelButtonTitle: nil, otherButtonTitles: "按钮") 
name.show()     //改自书中案例

如果在其中想要添加动作的时候,需要另外使用 delegate,其中有参数 alertView 和 buttonIndex。具体的不细说,但是新版本的确优化了许多。

UIAlertController 的改变

以下代码都在一个函数中(func alertExample { })
let name = UIAlertController(title: “你想要的提示”, message: “在提示下面的小字信息!”, preferredStyle: .Alert)
首先去除了 delegate 以及之后的所有东西,在整个提示中变得间接许多,要知道,精简就是一门学问,这样子的改变可以一眼看出来提示的信息。
string 字符串中可以将变量转换为 string 字符添加到提示语句中,这样子可以拥有灵活性的提示

新增加的 preferredStyle 目前有两种可选:

enum UIAlertControllerStyle : Int {
    case ActionSheet        //底部弹出提示框
    case Alert       // 中间弹出提示框
}

当初的动作添加也顺势的变成了如下:(当然,动作并不是一定要添加的,是可以没有任何动作只有提示的)

name.addAction(UIAlertAction(title: "按钮", style: .Default) { _ in
           // 你想要它做的事情
            })

present 模式继承了 UIViewController:

self.presentViewController(name, animated: true){}

对于提示框的选择主要就是这些,最基础的内容,可以尝试在程序中添加各种提示,包括提示后的动作,动作里调用其他的提示函数或者普通函数来进一步的动作。

推荐文章:iOS-个人整理16 - 警示框–UIAlertController