《论语·卫灵公》有一段经典对白:『子贡问为仁。子曰:工欲善其事,必先利其器。
……』。
对于一个程序猿来说,好的工具不意味着一定能产生优质的代码。可是好的工具对提升开发效率的作用还是不言而喻的。想要用Swift做iOS开发。唯一可选的利器就是Xcode6了,童鞋们可以从以下的站点获得Xcode6的下载链接,在此页面中还可以找到Swift的官方书籍、例子代码和视频。
Xcode6下载:https://developer.apple.com/swift/resources/
接下来我们能够開始创建一个项目Swift01,如图所看到的:
以上看到的就是入门程序『Hello, World』。
接下来要做的就是能够通过构建整个项目或者直接通过
执行项目并在控制台中查看结果,例如以下图所看到的:
好了,一切就这么简单。可是我们要讲的肯定不是Hello World那么简单,通过以下的代码先对Swift有个感性的认识吧。
import Foundation var a:Int = 123 // 定义Int类型的变量a let b = 321 // 定义常量b通过类型判断为Int println("\(a) + \(b) = \(a + b)") // 字符串中的\()能够放变量、常量、表达式 // 输出:123 + 321 = 444 // 从1加到100求和 var sum = 0 for var i = 1; i <= 100; ++i { // for循环 sum += i } println("SUM = \(sum)") // 输出:SUM = 5050 for ch in "hello" { // 对hello的每一个字符进行循环 println(ch) } var randomAge = arc4random() % 50 // 调用Foundation中的函数产生随机数 print("You're \(randomAge) years-old! ") var myAge:UInt32 = 33; if randomAge > myAge { // if-else分支结构 println("Older than me!") } else { println("Younger than me!") } // 依据如今的系统时间显示提示语 // [吐槽]时间日期的操作在苹果的编程语言里面真麻烦 var currDate = NSDate() // 创建时间日期对象 var myCal = NSCalendar(calendarIdentifier:NSGregorianCalendar) // 创建日历对象(阳历[格里高利历]) // 以下两行代码取出当前时间日期的小时部分 var myComp:NSDateComponents = myCal.components(NSCalendarUnit.HourCalendarUnit, fromDate:currDate) var hour = myComp.hour switch hour { case 7, 8: println("Enjoy your breakfast!") case 11, 12, 13: println("Have a good lunch!") case 18, 19: println("It's a good time for dinner!") default: println("Do something to make yourself happy.") } var myArray:Int[] = [12, 35, 96, 47, 5, 23, 68] myArray += [32, 81] println(myArray) // 输出: [12, 35, 96, 47, 5, 23, 68, 32, 81] // 定义找出数组中最大和最小元素的函数 // 声明函数的keyword是func, findMaxAndMin是函数名 // 函数名后的()中是參数列表, 其參数是Int型的数组, // 返回值是一个元组(包括多个数据的复合值), 包括两个整数 // 函数的返回值是在函数參数列表后的->之后指定其类型的 func findMaxAndMin(x:Int[]) -> (Int, Int) { var min:Int = x[0] var max:Int = x[0] for var index = 1; index < x.count; ++index { if x[index] > max { max = x[index] } else if x[index] < min { min = x[index] } } return (min, max) } println(findMaxAndMin(myArray)) //输出: (5, 96) // 定义一个字典类型(键值对映射) var myDic = [1001:"Apple", 1002:"Banana", 1003:"Grape"] for (no, name) in myDic { println("key = \(no), value = \(name)") } myDic[1003] = "Strawberry" println(myDic) // 输出: [1001: Apple, 1002: Banana, 1003: Strawberry] var myFruit1 = myDic[1002] // Banana var myFruit2 = myDic[2001] // nil if myFruit2 == nil { println(myFruit1) } else { println(myFruit2) } // 将函数作为函数的參数(Lambda函数) func repeat(count:Int, callback: () -> ()) { for i in 0..count { callback(); } } // 调用repeat函数输出10次Hello, world! repeat(10, { println("Hello, world!") })