本教程是IOS/Swift常识的总结,实用于通过对Objictive C编程的使用并须要理解基于iOS程序的iPhone和iPad的程序员。做一个有bigger的’攻城狮‘,有尊严的工作,高兴的工作,享受工作。
本文收录:Swift常识介绍
对于Swift
苹果公司于WWDC2014(Apple Worldwide Developers Conference. June 2-6, San Francisco)公布新的编程语言--Swift。对于软件用户、游戏玩家,大家始终都在提倡用户体验。其实软件开发者本人也是用户,是各种开发工具的使用者,也会喜爱用户体验做得好的工具软件。这次苹果想开发者所想,提供了一个能够玩转swift的游乐场--Playground,它为开发着提供了不便、提供了乐趣。本篇次要简略列举几点,而后介绍Swift入门操作。
Swift是什么
- Swift是用来写iOS和OS X程序的编程语言。
- Swift汲取了C和Objective-C的长处,且更加弱小易用。
- Swift能够应用现有的Cocoa和Cocoa Touch框架。
- Swift兼具编译语言的高性能(Performance)和脚本语言的交互性(Interactive)。
Swift有什么特点
- 属性(Property)、可空值(Nullable type)、泛型(Generic Type)语法,源自C#。
- 格局格调:句末能够没有分号,判断条件不须要括号,同Go格调。
- 以后实例应用self援用语法、列表/字典申明语法,同Python格调。
- 区间申明语法(如:1..3:前闭后开[1,2],1...3:前闭后闭[1,2,3]),同Haskell格调。
- 协定(protocol)和扩大(extension),源自Objective-C。
- 枚举(enum)类型能够领有成员或办法,很像Java。
- 类(class)和构造(struct)的概念,和C#类似。
用什么IDE开发Swift
- Xcode6开始反对Swift语言。
- Xcode6提供了Playground界面,能够边开发边看到执行成果。
Swift 能够干什么
1 .疾速练习swift
不须要编译、不须要点击执行,编写代码后间接看成果,比脚本语言还不便,开发者能够通过Playgroud疾速得进行语法试验、API调用,等等。
2.可视化程序逻辑
Playground不仅提供了动态变量即时查看,而且能展现随工夫变动的值。
如图,通过右上角的两个按钮,能够切换Playground的两种编辑试图:
- Standard Editor 即时显示变量值。
- Assistant Editor 在时间轴上显示变量值,或者自定义显示。
Assistant模式对于开发者测验程序逻辑将有重要帮忙:
- 不再须要逐渐断点调试。
- 不再须要输入日志查看。
- 不仅能显示数值曲线,还能显示图形图像。
3.自定义显示
开发者能够依据须要扩大动静展现接口,以本人的形式展现程序。
如WWDC2014上演示的内容:
Playground有什么毛病
1.Playground临时不反对界面交互。
即无奈在Playground中玩你开发的游戏。
2.Playground不是模拟器不能执行app程序。
环境筹备
- Mac OS版本
Mac零碎版本 >= 10.9.3, 我的开发环境是MacOS 10.10.1
- Xcode6
Xcode版本 >= 6.0, 我的开发环境是Xcode 6.1.1
| 一.创立工程 |
装置胜利后开始咱们的新的Swift之旅吧。首先,咱们来创立一个Swift语言的工程。和原来创立工程一样,只须要在语言选择时抉择Swift即可。
Swift排在了语言选项的第一项,可见苹果对它的器重水平,当前预计会成为默认选项的。
工程创立后,你会发现和以前的Hello World没什么变动。
说好的Playground呢?
你会发现在右下角有这么一个文件类型Playground,晓得要干什么了吧?
其次,增加Playground文件.
- 间接从右下角拖动到工程中
- File-》New-》File...,抉择Playground
两头: 代码编辑区域。
右侧:实时成果,不是输入。
右下:运行后后果,留神:是执行成果。
疾速查看变量,不须要编译
在代码区域编写完代码,能够疾速在 playground疾速查看后果,在playground 显示的后果中,每条后果的最初都有两个按钮,别离是
Quick Look :疾速查看后果。
Value History:查看历史记录。
快捷创立带playground工程
开启xcode欢送界面的办法:
菜单:Window -> Welcome to Xcode -> 抉择“Get started with a playground” 就能够间接创立带playground的工程了。