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 中我们可以使 ...
随机推荐
- Qt Qpushbutton美化问题
昨天在论坛看到一个网友的提问,如下 我想到的第一个就是可能需要重载Pushbutton,不过看到有网友回复可以使用stykesheet解决,今天尝试了一下,还是没有成功, 一下是我使用车重载的Push ...
- [HNOI2004]打鼹鼠
鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿牛编写了一个打鼹鼠的游戏:在一个\(n*n\)的网格中,在某些时刻鼹鼠会在某一个网格探出头来透透气.你 ...
- 当我们在安装tensorflow时,我们在安装什么?- Intro to TF, Virtualenv, Docker, CUDA, cuDNN, NCCL, Bazel
(Mainly quoted from its official website) Summary: 1. TensorFlow™ is an open source software library ...
- Java串口编程学习2-读串口
如果读串口出现乱码,则: 1.可能是波特率设置不对 2.可能是数据编码格式不对 import gnu.io.*; import java.awt.*; import java.awt.event.Ac ...
- 使用PNotify构建消息弹窗
参考地址 官网:http://sciactive.com/pnotify/ GitHub:https://github.com/sciactive/pnotify npm仓库:https://www. ...
- .aspx文件和.aspx.cs文件的区别与联系
http://zhidao.baidu.com/link?url=_SNw0EHJ8Wg__KanJrKQM3tVEUeFnVilZ6GGIN8ab69RLuyOWD__WyZb7Zb9dJjwDnL ...
- javascript知识总结
javascript: 面对对象 函数创建方式: 1.工厂模式 function createPerson(name, age, job){ var o = new Object(); //创建工厂对 ...
- FileReader 获取图片BASE64 代码 并预览
FileReader 获取图片的base64 代码 并预览 FileReader ,老实说我也不怎么熟悉.在这里只是记录使用方法. 方法名 参数 描述 abort none 中断读取 readAsBi ...
- node和gulp实现前端工程自动化(附:gulp常用插件)
/** * 1. LESS编译 压缩 合并 * 2. JS合并 压缩 混淆 * 3. img复制 * 4. html压缩 */ // 在gulpfile中先载入gulp包,因为这个包提供了一些APIv ...
- luogu P2764 最小路径覆盖问题
题目描述 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开始,长度也是任 ...