本教程是笔者在自学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文件.

  1. 直接从右下角拖动到工程中
  2. 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介绍的更多相关文章

  1. Swift开发学习-03 Swift技巧

    一 两个数字交换算法 1.算法1 func swap(inout num1:int , inout num2:int){ num1 = num1 ^ num2 ; num2 = num1 ^ num2 ...

  2. Swift开发学习(一):初始篇

    http://blog.csdn.net/powerlly/article/details/29351103 Swift开发学习:初始篇 关于 苹果公司于WWDC2014(Apple Worldwid ...

  3. Swift开发学习(两):Playground

    Swift开发学习:Playground 大约 对于软件用户.游戏玩家,我一直提倡用户体验.也是用户,是各种开发工具的使用者.也会喜欢用户体验做得好的工具软件.这次苹果想开发人员所想,提供了一个能够玩 ...

  4. Swift开发学习(二):Playground

    http://blog.csdn.net/powerlly/article/details/29674253 Swift开发学习:Playground 关于 对于软件用户.游戏玩家,大家一直都在提倡用 ...

  5. ASP.NET Core Web开发学习笔记-1介绍篇

    ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...

  6. ubuntu上swift开发学习1

    学习目的:通过构建一个web应用的实践过程来学习swift.会使用到Perfect框架建立一个web应用(Perfect是swift的一个web框架). 这一篇介绍环境搭建 学习资源: 环境搭建:ht ...

  7. swift开发学习笔记-闭包

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jiangqq781931404/article/details/32913421 文章转自:http ...

  8. Swift开发之 (01) 语法

    一 Swift Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序. Swift是一 ...

  9. Swift开发学习-02 变量和常量

    本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用,并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作, ...

随机推荐

  1. 18Spring_AOP编程(AspectJ)_AspectJ的各种通知总结

    小结: 前置通知(权限控制). 后置通知 ---- 不怎么用 环绕通知(权限控制. 性能监控. 缓存技术 ) 异常通知 (发生异常后, 记录错误日志 ) 最终通知 (释放资源 ) 环绕通知 是取代任何 ...

  2. CSS 动画之十-图片+图片信息展示

    这个动画主要是运用了一些css3的特性,效果是展示一张商品图片,然后在商品图片的制定位置显示该商品的详细信息.效果在chrome浏览器中预览. <!DOCTYPE html> <ht ...

  3. UltraEdit编辑器使用心得之正则表达式篇

    ultraEdit 中通过Ctrl+R 可以快速进行文本替换等处理操作,如果在这中间用一些正则表达式那将帮助NI更高效的进行文字处理操作,相关正则表达式列述如下: % 匹配行首 - 表示搜索字符串必须 ...

  4. Java集合---HashSet的源码分析

    一.  HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null元素. 二.  ...

  5. Java系列:国际化(zz)

    国际化英文单词为:Internationalization,又称I18N,I为因为单词的第一个字母,18为这个单词的长度,而N代表这个单词的最后一个字母.国际化又称本地化(Localization,L ...

  6. [CareerCup] 11.4 Sort the File 文件排序

    11.4 Imagine you have a 20 GB file with one string per line. Explain how you would sort the file. 这道 ...

  7. 预备作业02:成功经验与C语调查20155230

    成功的经验 在写这一次的博客之前,我看了一部分同学所写的博客.因为我不懂关于自己更优秀的技能这一栏要怎么写,所以想要去找能以借鉴的东西.看完发现,这些同学在介绍自己技能时更多的是写自己在某一领域的成就 ...

  8. 20145303 20145339 《信息安全系统设计基础》 实验五 简单嵌入式WEB服务器实验

    20145303 20145339 <信息安全系统设计基础> 实验五 简单嵌入式WEB服务器实验 实验目的与要求 1.掌握在ARM开发板实现一个简单WEB服务器的过程 2.学习在ARM开发 ...

  9. web安全——简介

    简介 不对外提供服务是最安全的. 安全是基于信任.如果信任失败了,则没有安全.比如你给一个ip加白名单,结果这个ip对你发动了安全攻击. 在非常明确需要提供服务的时候才对外提供服务,即白名单.其他的全 ...

  10. js验证身份证号

    /* * 身份证检测(格式.地区.生日.年龄范围) * code:检测字符串 rangeAge:年龄范围[格式为:25-55] * 返回值 0:为空 ,不为0则验证不通过 */ : : : : : : ...