Swift开发学习-01 Swift介绍
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用并需要了解基于iOS程序的iPhone和iPad的程序员。做一个有bigger的’攻城狮‘,有尊严的工作,快乐的工作,享受工作。
关于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的工程了。
Swift开发学习-01 Swift介绍的更多相关文章
- Swift开发学习-03 Swift技巧
一 两个数字交换算法 1.算法1 func swap(inout num1:int , inout num2:int){ num1 = num1 ^ num2 ; num2 = num1 ^ num2 ...
- Swift开发学习(一):初始篇
http://blog.csdn.net/powerlly/article/details/29351103 Swift开发学习:初始篇 关于 苹果公司于WWDC2014(Apple Worldwid ...
- Swift开发学习(两):Playground
Swift开发学习:Playground 大约 对于软件用户.游戏玩家,我一直提倡用户体验.也是用户,是各种开发工具的使用者.也会喜欢用户体验做得好的工具软件.这次苹果想开发人员所想,提供了一个能够玩 ...
- Swift开发学习(二):Playground
http://blog.csdn.net/powerlly/article/details/29674253 Swift开发学习:Playground 关于 对于软件用户.游戏玩家,大家一直都在提倡用 ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
- ubuntu上swift开发学习1
学习目的:通过构建一个web应用的实践过程来学习swift.会使用到Perfect框架建立一个web应用(Perfect是swift的一个web框架). 这一篇介绍环境搭建 学习资源: 环境搭建:ht ...
- swift开发学习笔记-闭包
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jiangqq781931404/article/details/32913421 文章转自:http ...
- Swift开发之 (01) 语法
一 Swift Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序. Swift是一 ...
- Swift开发学习-02 变量和常量
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用,并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作, ...
随机推荐
- BZOJ 3572: [Hnoi2014]世界树
BZOJ 3572: [Hnoi2014]世界树 标签(空格分隔): OI-BZOJ OI-虚数 OI-树形dp OI-倍增 Time Limit: 20 Sec Memory Limit: 512 ...
- JAVA 根据数据库表内容生产树结构JSON数据
1.利用场景 组织机构树,通常会有组织机构表,其中有code(代码),pcode(上级代码),name(组织名称)等字段 2.构造数据(以下数据并不是组织机构数据,而纯属本人胡编乱造的数据) List ...
- winform listbox与textbox组合提示框 模糊查询
private void listbox1_MouseClick(object sender, MouseEventArgs e) { textbox1.Vis ...
- Socket Programming in C#--Introduction
This is the second part of the previous article about the socket programming. In the earlier article ...
- SpringMVC Controller介绍(转)
SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...
- 构架高性能WEB网站的几点知识
前言: 对于构架高性能的web网站大家都很感兴趣,本文从几点粗谈高性能web网站需要考虑的问题. HTML静态化 什么是html静态化? 说得简单点,就是把所有不是.htm或者.html的页面改为.h ...
- [CareerCup] 10.3 Integer not Contain in the File 文件中不包含的数
10.3 Given an input file with four billion non-negative integers, provide an algorithm to generate a ...
- 20135328信息安全系统设计基础第二周学习总结(vim、gcc、gdb)
第三周学习笔记 学习计时:共8小时 读书:1 代码:5 作业:1 博客:7 一.学习目标 熟悉Linux系统下的开发环境 熟悉vi的基本操作 熟悉gcc编译器的基本原理 熟练使用gcc编译器的常用选项 ...
- 高校手机签到系统——第一部分Authority权限系统(下)
很抱歉,之前寝室光纤断了,所以到现在才更新这个系列的第二篇博客.点击访问高校手机签到系统——第一部分Authority权限系统(上) 这几天我反思了一下上一篇写博上的方式,一味的贴代码式的,是否应该更 ...
- Java学习笔记(二一)——Java 泛型
[前面的话] 最近脸好干,掉皮,需要买点化妆品了. Java泛型好好学习一下. [定义] 一.泛型的定义主要有以下两种: 在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个 ...