Swift 3 (1)介绍

Swift 3

强大的编程语言也很容易学习。

Swift是一个强大和直观的编程语言为macOS,iOS,watchOS和tvOS。写Swift代码是互动和乐趣,语法简洁而富有表现力,Swift包括开发人员喜欢的现代功能。 Swift代码通过设计是安全的,但也生产运行速度快的软件。

介绍Swift 3

Swift 3是对你每天使用的框架的语言和API约定的彻底改进。这些改进使你写的代码更自然,同时确保你的代码更加一致的前进。例如,选择Foundation类型(例如新的Date类型)更容易使用,并且比以前的版本快得多,并且Calendar类型使用枚举在Swift中感觉更多。

在iPad上学习Swift

Swift Playgrounds是一个革命性的新iPad应用程序,可以帮助您在Swift中学习和探索编码。内置的课程和挑战教你基本的编码概念,因为你在一个交互式环境中编写真正的Swift代码触摸。你可以通过包括的课程,或创建游乐场,以自己的步伐探索代码。由于Swift Playgrounds包括真实的iOS框架,如UIKit,SceneKit和SpriteKit,并且访问硬件触摸手势,陀螺仪和相机,你可以建立几乎任何你可以想象的。

Learn about Swift Playgrounds for iPad》


开源

Swift 3是Swift.org开源的第一个主要版本,包括源代码,错误跟踪,邮件列表和常规开发构建。 这个广泛的开发者社区,无论是在苹果还是数百个外部贡献者,共同努力,使Swift更惊人。 Swift已经支持所有的苹果平台和Linux,社区成员积极致力于移植到更多的平台。 我们很高兴看到更多的方式,Swift使软件更安全和更快,同时也使编程更有趣。

要了解有关开源Swift社区的更多信息,请访问Swift.org


精制API命名

在流行的Swift库中使用的语法和模式对Swift代码的性质几乎影响了语言本身的规范。这就是为什么Swift.org社区起草了Swift API设计指南作为开源演化过程的一部分。这些准则适用于整个标准库以及核心框架(如Foundation,Core Graphics和Grand Central Dispatch)。甚至最初用Objective-C编写的框架在Swift 3中也会显得更自然。

//旧代码(Swift 2.2)

let content = text.stringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())

// new code(Swift 3.0)

let content2 = text.trimmingCharacters(in:.newlines)

Xcode 8包括迁移工具,帮助自动将您的Swift 2.2代码移动到新的Swift 3语法。如果你在产品版本中,你可以继续使用Swift 2与Xcode 8,仍然使用最新的操作系统SDK,然后将你的代码不久迁移到Swift 3。 Swift 3的明确目标是为源代码级的稳定性设置语言。

现代

Swift是关于编程语言的最新研究的结果,结合构建苹果平台的几十年的经验。从Objective-C引出的命名参数以干净的语法表示,使得Swift中的API更易于阅读和维护。推理类型使代码更干净,不容易犯错误,而模块消除头和提供命名空间。内存是自动管理的,你甚至不需要键入分号。这些前瞻性的概念产生一种易于使用的语言。

extension String {

var banana:String {

let shortName = String(characters.dropFirst(1))

返回“\(self)\(self)Bo B \(shortName)Banana Fana Fo F \(shortName)”

}}

}}

let bananaName =“Jimmy”.banana //“Jimmy Jimmy Bo Bimmy Banana Fana Fo Fimmy”

Swift有许多其他功能,使您的代码更具表达力:

闭包与函数指针统一

元组和多个返回值

泛型

在范围或集合上快速和简洁的迭代

支持方法,扩展和协议的结构体

功能编程模式,例如映射和过滤器

使用try / catch / throw的本地错误处理


游乐场和REPL在Xcode

就像Swift Playgrounds for iPad一样,Xcode中的操场使得Swift代码变得简单而有趣。键入一行代码,结果立即显示。然后,您可以从代码一侧快速查看结果,或直接在下面固定结果。结果视图可以显示图形,结果列表或值随时间变化的图形。您可以打开时间轴助手来观看一个复杂的视图演变和动画,伟大的试验新的UI代码,或者在您编写代码时播放一个动画SpriteKit场景。当你在游乐场完成你的代码,只需将该代码移动到你的项目。

读取评估打印环(REPL)。 Xcode中的LLDB调试控制台包含一个交互版本的Swift语言。使用Swift语法来评估和与正在运行的应用程序交互,或者编写新代码以了解它在类似脚本的环境中的工作原理。可在Xcode控制台或终端中使用。

快速和强大

从最早的构想,Swift被建立得快。使用令人难以置信的高性能LLVM编译器,Swift代码被转换为优化的本地代码,从而充分利用现代硬件。语法和标准库也已经调整,以使最明显的方式来编写代码也执行最好的。

Swift是C和Objective-C语言的继承者。它包括低级原语,如类型,流控制和操作符。它还提供面向对象的功能,如类,协议和泛型,给Cocoa和Cocoa Touch开发人员他们需要的性能和功能。

专为安全设计

Swift消除了整个类不安全的代码。变量总是在使用前初始化,检查数组和整数是否溢出,并自动管理内存。调整语法以便轻松定义您的意图 - 例如,简单的三字符关键字定义变量(var)或常量(let)。

另一个安全特性是,默认情况下Swift对象永远不能为nil。事实上,Swift编译器会阻止你尝试使用编译时错误的nil对象。这使得编写代码变得更干净,更安全,并且防止了应用程序中的大量运行时崩溃。然而,有些情况下,nil是有效的和适当的。对于这些情况,Swift有一个被称为可选项的创新功能。一个可选的可能包含nil,但Swift语法强制你安全地处理它使用?语法向编译器指示您理解该行为并将安全处理它。

Objective-C互操作性

您可以立即使用Swift创建一个全新的应用程序,或者开始使用Swift代码在应用程序中实现新的功能和特性。 Swift代码与现有的Objective-C文件并存在同一个项目中,可以完全访问您的Objective-C API,使其易于采用。

要开始使用Swift,请下载Xcode并按照资源选项卡上的教程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 今日关键词:目标管理。制定目标是一种能力,任何个人或组织都是需要目标来指引行动和未来的发展。目标一般分为三类,长期...
    Ring2442阅读 501评论 0 1
  • 一道雷声打破美梦中的我 看着窗外正下着倾盆大雨 大树被风吹的摇摇欲坠 路上的行人寥寥无几 路过的车辆踏过水洼 溅起...
    喵小艺阅读 278评论 0 0
  • 我希望“那个他”不是对我一见钟情,我们因为相处变得了解对方,知道彼此的好与不好,我们会互相包容,懂得让步,成为彼此...
    小美好阅读 233评论 0 0
  • 【写在前面】临近月末,一些喵喵私信问我,这个月还要不要提交成长记录……我回复的第一句话都是:你想写吗?嗯~成长记录...
    叫我哆啦美阅读 435评论 6 8