【引子】

最新的苹果发布会上公布了新的苹果编程语言Swift,并且演示了Xcode 6 Beta的一些新功能。

据苹果公司称,这个新语言开放的API更多,实用起来更方便,总之是值得学习、使用,比C/obj-c要好用。

所以在这个系列中,打算将自己学习Swift的过程作为笔记记录下来,方便学习、查看。

【常见疑问】

Q1:Swift是否能够替代Obj-c?

A :  据说可以实现Obj-C所有功能

Q2:Swift和Ojb-c 是否兼容 ?

A: 可以完全兼容Obj-c和C,而且新的XCode中,也不会放弃对Obj-C的支持

【相关学习用资源】

1.XCode 6 Beta下载地址:

http://pan.baidu.com/s/1dDGLExF

2.Swfit 官方教材(pdf ):

http://pan.baidu.com/s/1sj35Y5B

【Swfit 简介】

Swift是苹果公司推出的新iOS和OS X 应用程序开发语言,实用C和obj-c的优点,但舍弃了C的那些限制。

相比来说,Swift更加简单易用、灵活,仍基于cocoa和cocoa touch框架。

接下来又说,Swift制作了很多年,基于obj-c和那些成熟的cocoa框架,是苹果公司未来的主流编程语言。

下面这个比较重要:

Swift使用起来,有很多像obj-c的地方:命名化的参数(苹果引以为荣却让我很不爽的函数写法)、动态对象模型;

类似obj-c的访问Cocoa框架的方式、可以和obj-c代码混写

Swift易学易用,能给程序员使用脚本语言(as a scripting language)的感觉

在这些照顾obj-c程序员旧编程习惯的同时,推出了很多新特性,其中比较有特点的就是支持“playground”,

程序员不编译不运行,就能看到结果。

【A Swfit Tour】

程序员新语言破处:Hello World

在Swift中,只需要一句话就能实现:

println("Hello, world")

(我擦!这不是java吗!)

步骤:

1. 用XCode 6 新建OS 控制台应用程序,注意选择语言时使用swfit;

2.代码&运行结果:

注意上图中,代码文件名为:“main.swift”

代码中使用了Import,而非原先的Include,怎么看怎么像java。。。。

代码中也不需要main函数,代码写在“global scope”(全局区域?)中,这个global scope就是作为应用程序入口。

每句代码后不需要分号,直接结束即可,但敲上“;”也不会出错

【PlayGround】

为上面的项目新建一个PlayGround,直接用实例来说明其作用

步骤:

1. 在上面的项目中,新建File,选择os source中的playground;

2.下一步,选中playground目标(Targets)为当前项目:

3.在playground中添加代码,查看效果:

可以看到,playground是一个实时的测试工具,可以实时检测当前代码中的变量和结果,究竟作用怎么样,还的用用再说

感觉对新手来说挺好的。

[Swift系列]001-入门准备的更多相关文章

  1. Python系列之入门篇——MYSQL

    Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...

  2. Swift语言快速入门

    Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著   ISBN 978-7-121-24328-8 201 ...

  3. 窥探Swift系列博客说明及其Swift版本间更新

    Swift到目前为止仍在更新,每次更新都会推陈出新,一些Swift旧版本中的东西在新Swift中并不适用,而且新版本的Swift会添加新的功能.到目前为止,Swift为2.1版本.去年翻译的Swift ...

  4. .NET 4 并行(多核)编程系列之一入门介绍

    .NET 4 并行(多核)编程系列之一入门介绍 本系列文章将会对.NET 4中的并行编程技术(也称之为多核编程技术)以及应用作全面的介绍. 本篇文章的议题如下:  1. 并行编程和多线程编程的区别.  ...

  5. Swift语法基础入门三(函数, 闭包)

    Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...

  6. Swift语法基础入门四(构造函数, 懒加载)

    Swift语法基础入门四(构造函数, 懒加载) 存储属性 具备存储功能, 和OC中普通属性一样 // Swfit要求我们在创建对象时必须给所有的属性初始化 // 如果没办法保证在构造方法中初始化属性, ...

  7. Swift语法基础入门二(数组, 字典, 字符串)

    Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...

  8. Google C++测试框架系列:入门

    Google C++测试框架系列:入门 原始链接:V1_6_Primer 注 GTest或者Google Test: Google的C++测试框架. Test Fixtures: 这个词实在找不到对应 ...

  9. Pandas系列之入门篇

    Pandas系列之入门篇 简介 pandas 是 python用来数据清洗.分析的包,可以使用类sql的语法方便的进行数据关联.查询,属于内存计算范畴, 效率远远高于硬盘计算的数据库存储.另外pand ...

  10. Pandas系列之入门篇——HDF5

    Pandas系列之入门篇--HDF5 简介 HDF5(层次性数据格式)作用于大数据存储,其高效的压缩方式节约了不少硬盘空间,同时也给查询效率带来了一定的影响, 压缩效率越高,查询效率越低.pandas ...

随机推荐

  1. HDU 2846 Repository(字典树,标记)

    题目 字典树,注意初始化的位置~!!位置放错,永远也到不了终点了org.... 我是用数组模拟的字典树,这就要注意内存开多少了,,要开的不大不小刚刚好真的不容易啊.... 我用了val来标记是否是同一 ...

  2. python 安装 管理包 pip

    2.7的坑里出不来了,现在已经换到3.4了,不存在下列问题. win7下安装pip    http://blog.chinaunix.net/uid-24984661-id-4202194.html ...

  3. 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第五章 3(Sorting/Searching)

    第一题:340 - Master-Mind Hints UVA:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Item ...

  4. 二叉查找树的查找、插入和删除 - Java实现

    http://www.cnblogs.com/yangecnu/p/Introduce-Binary-Search-Tree.html 作者: yangecnu(yangecnu's Blog on ...

  5. window内存管理与内存原理

    转自: http://blog.csdn.net/iamfranter/article/details/6826270 WIndows为每个进程分配了4GB的虚拟地址空间,让每个进程都认为自己拥有4G ...

  6. BZOJ 2661: [BeiJing wc2012]连连看 费用流

    2661: [BeiJing wc2012]连连看 Description 凡是考智商的题里面总会有这么一种消除游戏.不过现在面对的这关连连看可不是QQ游戏里那种考眼力的游戏.我们的规则是,给出一个闭 ...

  7. Eclipse调试Java的十个技巧

      先提三点 不要使用System.out.println()作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志   1.条件断点 想象一下我们平时如何添加断点,通常的做法是 ...

  8. mq_close

    NAME mq_close - 关闭一个消息队列 (REALTIME) SYNOPSIS #include <mqueue.h>int mq_close(mqd_t mqdes) DESC ...

  9. Android百度地图开发02之添加覆盖物 + 地理编码和反地理编码

    下面来看一下地图上覆盖物的添加,以及地理编码和反地理编码. 添加覆盖物 在地图上添加覆盖物,一般需要以下几个步骤: 1. 定义坐标点,有可能是一个,有可能是多个(比如:多边形覆盖物). 2. 构造Ov ...

  10. Myeclipse中无法删除部署在tomcat上的工程

    一直以来,都无法顺利地从myeclipse里删除部署,不信,你看: myeclipse 10.7+tomcat7 myeclipse 2014+tomcat8 都是这样,一个问题 我们要干掉的项目为b ...