《论语·卫灵公》有一段经典对白:『子贡问为仁。子曰:工欲善其事,必先利其器。

……』。

对于一个程序猿来说,好的工具不意味着一定能产生优质的代码。可是好的工具对提升开发效率的作用还是不言而喻的。想要用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!") })

Swift开发图解入门的更多相关文章

  1. Swift语法基础入门一(适合有C, OC开发人员)

    Swift开发体验 /*: 创建对象 * OC: alloc initWithXXX 方法 * Swift: (xxx:) */ /*: 调用方法 * OC: [UIColor redColor]; ...

  2. Swift语言快速入门

    Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著   ISBN 978-7-121-24328-8 201 ...

  3. 《Swift开发指南》

    <Swift开发指南> 基本信息 作者: 关东升    赵志荣 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115366245 上架时间:2014-8-5 出版日期:20 ...

  4. 关于《Swift开发指南》背后的那些事

    时间轴(倒叙)2014年8月底在图灵出版社的大力支持下,全球第一本全面.系统.科学的,包含本人多年经验的呕心沥血之作<Swift开发指南>(配有同步视频课程和同步练习)全线重磅推出2014 ...

  5. 【转】iOS 开发怎么入门?

    原文网址:http://www.zhihu.com/question/20264108 iOS 开发怎么入门? 请问有设计模式.内存管理方面的资料吗?最好有除了官方文档之外的其它内容,10 条评论 分 ...

  6. Swift开发语法

    Swift开发入门 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 2014 年,在 Apple WWDC 发布 历史 2010 年 7 月,苹果开发者 ...

  7. Swift语法基础入门三(函数, 闭包)

    Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...

  8. Swift语法基础入门二(数组, 字典, 字符串)

    Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...

  9. 使用Swift开发一个MacOS的菜单状态栏App

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/52054107 ...

随机推荐

  1. 【bzoj1977】【严格次小生成树】倍增维护链上最大次大值

    (上不了p站我要死了,侵权度娘背锅) Description 小 C 最近学了很多最小生成树的算法,Prim 算法.Kurskal 算法.消圈算法等等. 正当小 C 洋洋得意之时,小 P 又来泼小 C ...

  2. 九. 常用类库、向量与哈希2.Object类

    Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来. 定义Java类时如果没有显示的指明父类,那么就默认继承了 Object 类.例如: p ...

  3. IntelliJ debug grails 无效的解决办法

    从Grails 2.2以后默认run-app命令将启动Grails应用程序在一个单独的Java虚拟机. 这就是所谓的分叉的Tomcat Grails中的执行. 这样的类路径Grails构建系统和应用程 ...

  4. JSP内置对象阶段案例

    1.login2: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  5. java实现随机中文

    原文:http://blog.csdn.net/u013926110/article/details/44600601 public class CreateCheckCode { /** * 生成随 ...

  6. Charles 抓包的工具

    下面是整个链接. http://www.winshy.com/2013/08/something_about_charlesproxy/?utm_source=rss Charles:移动端抓包工具安 ...

  7. 【Hadoop】HADOOP 总结--思维导图

  8. PHP empty()函数说明---用了N遍了就是记不住

    从表面上看,很容易误解empty()函数是判断字符串是否为空的函数,其实并不是,我也因此吃了很多亏. empty()函数是用来测试变量是否已经配置.若变量已存在.非空字符串或者非零,则返回 false ...

  9. Android 百度地图 简单实现--- 美食搜索

    Android 百度地图 简单实现---  美食 依赖包: 加入 Android 百度依赖包: 1  key:  <!--        开发人员 key --> <meta-dat ...

  10. PS 不能使用移动工具 因为目标图层被隐藏怎么办

    photoshop任何图层都无法移动或者修改,提示目标通道被隐藏. 在ps任何图层都无法移动并且无法使用橡皮擦等修改工具,提示目标通道被隐藏.我看了下通道里面多了一个快速蒙版层(并且是被隐藏的),我打 ...