Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和ios平台,用于搭建基于苹果平台的应用程序。
相信很多人都对ios的开发充满兴趣,既然苹果公司推出了更简单更容易上手的swift,作为一个对ios开放感兴趣的人自然也要来插一脚了。
- 这只是个学习日记,纪录我自己的学习过程
- 有什么错误欢迎大家指正,希望一同进步
初见ios程序,创建项目的步骤我就省略了我们来看看ios项目工程的结构
有故事板Main.Storyvoard、主委托程序AppDelegate.swift、控制器ViewController,有些东西我们放在以后慢慢熟悉,今天我们先来完成我们第一个iOS程序,一个简单的加法运算程序。
1,Main.storyboard 主界面故事版
什么叫故事版呢,其实有android开发经验的的我觉得可以理解成layout就行,然后我们经过一系列的拖拽控件之后,我们可以看看效果
这就是俩个用来获取用户输入信息的Text Field以及一个用来显示结果的label和一个用来确定的button,控件的一些属性可以在故事信息面板的中调整如字体背景
2,ViewController.swift 主控制器类
其实就像是activity啦。。。
- 任何一个ViewController类都需要继承与UIViewController或者其子类.
- 需要重载viewDidLoad()函数
- 需要重载didReceiverMemoryWarning()函数
//当控制器的视图类加载完成时调用
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
//当系统触发内存警告时调用
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
接下来我们把我们的控件按住右键拖到我们的控制器类里面
我们还可以拖拽事件,比如button的点击事件
接下来我们就可以在button的点击事件中处理逻辑。
@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型进行加法运算,但是我们还需要考虑如果不能转为int的情况,这时候我们就要提到swift的另一个特性。
可选类型(optionals)
我们来看看toInt方法的返回值
extension String {
/// If the string represents an integer that fits into an Int, returns
/// the corresponding integer. This accepts strings that match the regular
/// expression "[-+]?[0-9]+" only.
func toInt() -> Int?
}
可以看到返回值是一个Int?也就是说当不可以转换为int值的时候会返回一个nil值
所以我们可以通过if语句判断有值之后通过强制解封!来获取返回的int值,最后运行效果。
这个ios程序就是我们亲手开发的第一个用swift编写的小程序,swift语法的更多实用我会慢慢的写出来的,当然Android我也不能拉下来啊