Swift 是苹果公司于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。相信很多人都对iOS的开发充满兴趣,既然苹果推出了更简单易上手的Swift,学习iOS开发自然是一个不错的选择。
初见iOS程序,创建项目的步骤可以省略,我们直接来看iOS项目工程的结构。项目中有故事板Main.Storyboard、主委托程序AppDelegate.swift、控制器ViewController等组件,有些内容我们后续慢慢熟悉。今天,我们先来完成第一个iOS程序:一个简单的加法运算程序。
1. Main.storyboard 主界面故事板
故事板可以理解为界面布局文件,类似于Android开发中的layout。通过拖拽控件,我们可以设计用户界面。例如,添加两个用于获取用户输入信息的Text Field、一个用于显示结果的Label和一个确定按钮Button。控件的属性,如字体和背景,可以在故事板的信息面板中调整。
2. ViewController.swift 主控制器类
控制器类类似于Android中的Activity。任何ViewController类都需要继承自UIViewController或其子类,并重载viewDidLoad()和didReceiveMemoryWarning()函数。
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
接下来,我们可以将控件通过右键拖拽到控制器类中,以创建IBOutlet连接。同样,也可以拖拽事件,比如按钮的点击事件,来创建IBAction。
在按钮的点击事件中处理逻辑,例如实现加法运算:
@IBAction func addResult(sender: AnyObject) {
var v1 = value1.text.toInt()
var v2 = value2.text.toInt()
if v1 != nil && v2 != nil {
var countResult = v1! + v2!
result.text = String(countResult)
} else {
result.text = "未知错误,只能计算数字"
}
}
Swift具有类型推断能力,这意味着不需要显式声明类型,系统会自动推断。我们只需确定使用变量var还是常量let。在上面的代码中,我们获取用户输入的值并转换为Int类型进行加法运算,但需要考虑转换失败的情况。
可选类型(Optionals)
Swift中的可选类型用于处理值可能缺失的情况。例如,String的toInt()方法返回Int?(可选Int),当无法转换时会返回nil。
extension String {
func toInt() -> Int?
}
通过if语句判断可选类型是否有值,然后使用强制解包!来获取Int值。这样,我们可以安全地处理输入,并在出错时显示错误信息。
这个iOS程序是我们用Swift编写的第一个小程序,涵盖了基本的界面设计和逻辑处理。Swift的更多实用语法将在后续学习中逐步探索。