Swift开发学习(一):初始篇
http://blog.csdn.net/powerlly/article/details/29351103
Swift开发学习:初始篇
关于
苹果公司于WWDC2014(Apple Worldwide Developers Conference. June 2-6, San Francisco)发布新的编程语言--Swift。在这里就不重复介绍了,本篇主要简单列举几点,然后介绍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界面,可以边开发边看到执行效果
原文作者:Power 转载请保留此链接。
环境准备
- Mac OS版本
不需要更新到新发布的OS X v10.10,目前还不稳定
可以升级到OS X 10.9.3来安装Xcode6 beta - Xcode6 beta下载[可迅雷]
Xcode6 beta安装
已经安装了其他版本Xcode的不需要担心覆盖问题
下载Xcode_6_beta.dmg安装时会安装到新目录。
创建工程
安装成功后开始我们的新的Swift之旅吧。
首先,我们来创建一个Swift语言的工程。
和原来创建工程一样,只需要在语言选择时选择Swift即可
Swift排在了语言选项的第一项,可见苹果对它的重视程度。以后估计会成为默认选项的。
工程创建后,你会发现和以前的Hello World没什么变化
说好的Playground呢?你会发现在右下角有这么一个文件类型Playground
知道要干什么了吧?
Hello Swift
其次,添加Playground文件
- 直接从右下角拖动到工程中
- File-》New-》File...,选择Playground
中间: 代码编辑区域
左侧:实时效果,不是输出哦
右下:运行后结果,注意:是执行效果
有了Playground,老师们再也不用让学生YY了~~~!
问题:怎么执行Playground中的代码呢?请见下回介绍
原文作者:Power 转载请保留此链接。
Changelist:
6月9日
快捷创建带playground工程
之前xcode设置的启动不现实欢迎界面,所以没注意到还可以快捷创建playground工程
开启xcode欢迎界面的方法:
- 菜单:Window -> Welcome to Xcode
- 快捷键:Shift + Command + 1
☑️ Show this window when Xcode launches
可以在启动时打开欢迎界面
选择“Get started with a playground”就可以直接创建带playground的工程了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
Swift开发学习(一):初始篇的更多相关文章
- Swift开发学习(两):Playground
Swift开发学习:Playground 大约 对于软件用户.游戏玩家,我一直提倡用户体验.也是用户,是各种开发工具的使用者.也会喜欢用户体验做得好的工具软件.这次苹果想开发人员所想,提供了一个能够玩 ...
- Swift开发学习(二):Playground
http://blog.csdn.net/powerlly/article/details/29674253 Swift开发学习:Playground 关于 对于软件用户.游戏玩家,大家一直都在提倡用 ...
- [Android进阶]Binder学习(初始篇)
Android中Binder学习(初始篇) 本篇博客学习自侯亮的博客.地址为: 红茶一杯话Binder 1 什么是Binder? 简单地说.Binder是Android平台上的一种跨进程交互技术. 该 ...
- swift系统学习控件篇:UIProgressView+NSTimer+UIstepper+UIAlertController
工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIProgressView+NSTimer+UIstepper UIStepper UIP ...
- Swift开发学习-01 Swift介绍
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作,快 ...
- swift系统学习控件篇:UIbutton+UIlabel+UITextField+UISwitch+UISlider
工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIButton+UILabel // // ViewController.swift // ...
- swift开发学习笔记-闭包
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jiangqq781931404/article/details/32913421 文章转自:http ...
- ubuntu上swift开发学习1
学习目的:通过构建一个web应用的实践过程来学习swift.会使用到Perfect框架建立一个web应用(Perfect是swift的一个web框架). 这一篇介绍环境搭建 学习资源: 环境搭建:ht ...
- Swift开发第十二篇——protocol组合&static和class
本篇分为两部分: 一.Swift 中 protocol 组合的使用 二.Swfit 中 static和class 的使用 一.Swift 中 protocol 组合的使用 在 Swift 中我们可以使 ...
随机推荐
- 系统学习Docker 践行DevOps理念
Docker代表的容器技术是近两年的大热技术,和人工智能.区块链等热点不同,容器技术的门槛并不高,每一个开发.测试.运维人员都能在日常工作中掌握和使用,是当今IT从业人员的必备技能之一.本课程会带大家 ...
- SPFA模板 Bellmanford优化版
SPFA模板: queue<int>Q; ]; ],sumv[]; *],__next[*],e,w[*],first[],cnts[]; void AddEdge(int U,int V ...
- mongolass 中报 ($.content: "say Hi ~") ✖ (type: String)
第二次报这个错了, 一直以为MongoDB的模型用的type 是 String, 一直报错, 找不到原因. // 留言模型1 exports.Comment = mongolass.model('Co ...
- NOIP 2009 靶形数独(DLX)
小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向Z 博士请教,Z 博士拿出了他最近发明的“靶形数独”,作 ...
- Redis的高级应用——数据安全
Redis的数据保存在内存中,速度十分快.这也就意味着,一个恶意破解redis数据库密码的用户,可以在一秒钟进行更多的尝试.如果用户密码级别较低或更换频率过长,就会造成致命的危害. 1.设置用户 Re ...
- 算法(5)Jump Game
题目:非负数的数组,每个数组元素代表这你能最大跨越多少步,初始在0的位置,问,能不能正好调到数组的最后一位! https://leetcode.com/problems/jump-game/#/des ...
- delphi中写SQL语句中变量的注意事项
1.procedure TForm1.btn1Click(Sender: TObject); var s: String; begin S := 'select * from TMarketI ...
- 【题解】【CF Round #278】Tourists
圆方树第二题…… 图中询问的是指定两点之间简单路径上点的最小权值.若我们建出圆方树,圆点的权值为自身权值,方点的权值为所连接的圆点的权值最小值(即点双连通分量中的最小权值).我们可以发现其实就是这两点 ...
- [洛谷P2711]小行星
题目大意:有$n$颗行星,每颗行星的位置是$(x,y,z)$.每次可以消除一个面(即$x,y$或$z$坐标相等)的行星,求消除这些行星的最少次数. 题解:最小割,对于每一颗小行星,从 x 面的出点向 ...
- BZOJ_day5
32题...今天颓了不想再写了