《苹果apple Swift编程语言开发中文官方文档及入门实例视频教程资料.doc》由会员分享,可在线阅读,更多相关《苹果apple Swift编程语言开发中文官方文档及入门实例视频教程资料.doc(19页珍藏版)》请在金锄头文库上搜索。
1、苹果apple Swift编程语言开发中文官方文档及入门实例视频教程资料关于SwiftSwift 是一种新的编程语言,用于编写 iOS 和 OS X 应用。Swift 结合了 C 和 Objective-C 的优点并且不受C兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift 是基于成熟而且倍受喜爱的 Cocoa 和 Cocoa Touch 框架,他的降临将重新定义软件开发。Swift 的开发从很久之前就开始了。为了给 Swift 打好基础,苹果公司改进了编译器,调试器和框架结构。我们使用自动引用计数(Automatic Referen
2、ce Counting, ARC)来简化内存管理。我们在 Foundation 和 Cocoa的基础上构建框架栈并将其标准化。Objective-C 本身支持块、集合语法和模块,所以框架可以轻松支持现代编程语言技术。正是得益于这些基础工作,我们现在才能发布这样一个用于未来苹果软件开发的新语言。Objective-C 开发者对 Swift 并不会感到陌生。它采用了 Objective-C 的命名参数以及动态对象模型,可以无缝对接到现有的 Cocoa 框架,并且可以兼容 Objective-C 代码。在此基础之上,Swift 还有许多新特性并且支持过程式编程和面向对象编程。Swift编程语言 对于
3、初学者来说也很友好。它是第一个既满足工业标准又像脚本语言一样充满表现力和趣味的编程语言。它支持代码预览,这个革命性的特性可以允许程序员在不编译和运行应用程序的前提下运行 Swift 代码并实时查看结果。Swift 将现代编程语言的精华和苹果工程师文化的智慧结合了起来。编译器对性能进行了优化,编程语言对开发进行了优化,两者互不干扰,鱼与熊掌兼得。Swift 既可以用于开发 “hello, world” 这样的小程序,也可以用于开发一套完整的操作系统。所有的这些特性让 Swift 对于开发者和苹果来说都是一项值得的投资。用 Swift 编写 iOS 和 OS X 应用将是一场美妙的体验,Swift
4、 之后也会不断开发新特性和兼容性。我们对 Swift 充满信心,你还在等什么!认识Swift从这里开始!Swift编程语言开发官方中文文档Swift官方教程中文版(一)关于SwiftSwift之旅按照惯例,新语言的首个程序应该在屏幕上显示“你好,世界”的字样。在Shift语言中,这些都可以通过仅仅一行的语言来实现:println(Hello, world)如果你写过C语言或Objective-C的代码,那么你对这个句法并不陌生/在Swift中,长破折号代表一个完整的程序。你并不需要为诸如输入输出和字符串之类的代码建立一个专门的功能库。就全球而言,代码的编写只是编程的入口点,因此你并不需要一个主
5、功能。在每段陈述的结尾,你也不需要总是加一个分号。这个向导会给你足够的信息,透过这些信息,你可以编写Swift的代码,完成多项编程任务。你也不用担心自己会有不懂的地方,这个向导中所介绍的东西会在这本书中得到详细的阐述。注为得到最好的体验效果,把此章当做是X代码的演练场。现场演练使你能够编辑代码清单,效果立现。Swift官方教程中文版(二)简单值简单值 使用let产生一个常数,并应用var产生一个变量。常数值在编译时不是必须的,但你必须赋予它一个确切的值。这意味着你只需要给常数赋一个值,就可以在不同的场合使用它。var myVariable= 42myVariable = 50let myCon
6、stant= 42常数和变量值的类型是你赋予的。然而,你并不需要总是明确地写下其类型。假设当你创立常数或变量时,由编译器赋值。在上述的例子中,编译器认为我的变量是一个整数,因为它的初始值是一个整数。如果初始值没有提供足够的信息(或是没有初始值),在变量后来规定此变量的具体类型,并用逗号隔开。let implicitInteger= 70let implicitDouble= 70.0let explicitDouble: Double = 70实验用显示浮点数4来创立一个常量。切勿将这些值隐式转换为另一种类型。如果你需要将一个值到一个不同的类型,明确所需类型的一个实例let label= Th
7、e width islet width= 94let widthLabel= label + String(width)实验尝试将该字符串换换从最后一行除去。 你得到了什么错误?还有一个更简单的方法将这些值纳入到字符串中: 在括弧中写上值,并且在括弧钱用反斜杠。例如:let apples= 3let oranges= 5let appleSummary= I have (apples) apples.let fruitSummary= I have (apples + oranges) pieces offruit.实验()则用来表示字符串中的浮点计算结果和问候语中的人名。创建数组和字典使用方
8、括号(),并通过在括号内写索引或键访问数组和字典。var shoppingList= catfish, water, tulips, bluepaintshoppingList1 = bottle ofwatervar occupations= Malcolm: Captain,Kaylee: Mechanic,occupationsJayne = Public Relations使用初始化语法来创建空的数组或是字典。let emptyArray= String()let emptyDictionary= Dictionary()当你设置为变量设置新值或为一个函数确立参数时,如果可以推断出类型
9、信息,你可以写一个空的数组是和一个空的词典有: 。例如长破折号。shoppingList = / Went shopping and bought everything.Swift官方教程中文版(三)流量控制Swift官方教程中文版(四)函数和闭包Swift官方教程中文版(五)对象和类别Swift官方教程中文版(六)枚举和结构枚举和结构使用枚举型控件来创建一个枚举。像类和所有其他命名类型,枚举可以有与之关联的方法。enum Rank: Int case Ace = 1case Two, Three, Four, Five, Six, Seven, Eight, Nine, Tencase Ja
10、ck, Queen, Kingfunc simpleDescription() - String switch self case .Ace:return acecase .Jack:return jackcase .Queen:return queencase .King:return kingdefault:return String(self.toRaw()ace = Rank.AceaceRawValue = ace.toRaw()实验编写一个函数,通过比较它们的原始值,比较两个等级值。在上面的例子中,枚举的原始值类型是int,所以你只需要指定第一个原始值。按顺序分配原始值的其余部分。
11、你还可以使用字符串或浮点数作为原始类型的枚举。使用到原始函数的原始值和枚举值之间进行转换。if let convertedRank = Rank.fromRaw(3) let threeDescription = convertedRank.simpleDescription()枚举值是实际值,不仅仅是原始值的另一种书写方式。事实上,在情况下,你没有必要提供一个没有意义的原始值。enum Suit case Spades, Hearts, Diamonds, Clubsfunc simpleDescription() - String switch self case .Spades:retu
12、rn spadescase .Hearts:return heartscase .Diamonds:return diamondscase .Clubs:return clubshearts = Suit.HeartsheartsDescription = hearts.simpleDescription()实验添加一个颜色方法适合返回黑桃,梅花的“黑”,并返回“红色”的心和钻石。注意枚举的主要成员的方法就是上面两种。分配一个值不变时,枚举成员,心是它的全名,因为是不断显示类型的指定。在交换机内部,枚举被缩写形式引用。心,因为自我的价值已经被称为是一个套系。当你知道一个价值的形式时,你可以使用
13、其缩写。使用创建构架数组来创建一个结构。结构支持许多方法和初始化相同的行为的类。其中结构和类之间最重要的区别在于结构通过复制在周围传递,但类是通过引用传递。struct Card var rank: Rankvar suit: Suitfunc simpleDescription() - String return The (rank.simpleDescription() of (suit.simpleDescription()let threeOfSpades = Card(rank: .Three, suit: .Spades)let threeOfSpadesDescription =
14、 threeOfSpades.simpleDescription()实验添加一个方法来创建一个完整的卡甲板卡,该卡的等级适应每个组合。枚举成员的实例可以与该实例相关联的值。同样的枚举成员的实例可以有与之关联的不同的值。你提供与你创建实例关联的值。相关的值和原始值是不同的:枚举成员的原始值是相同的所有实例,当你定义你需要的的枚举原始值。例如:服务器要求日出日落时间。服务器响应其信息或者反馈其错误信息。enum ServerResponse case Result(String, String)case Error(String)let success = ServerResponse.Resul
15、t(6:00 am, 8:09 pm)let failure = ServerResponse.Error(Out of cheese.)switch success let .Result(sunrise, sunset):serverResponse = Sunrise is at (sunrise) and sunset is at (sunset).let .Error(error):serverResponse = Failure. (error)实验向ServerResponse和交换机添加第三种情况。请注意,日出和日落时间是如何从服务器响应,并作为匹配开关的一部分提取提取值。Swift官方教程中文版(七)协议及扩展Swift官方教程中文版(八)泛型Swift官方教程中文版(九)Swift基础知识Swift官方教程中文版(十)常量与变量Swift官方教程中文