[Swift系列]001-入门准备
【引子】
最新的苹果发布会上公布了新的苹果编程语言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-入门准备的更多相关文章
- Python系列之入门篇——MYSQL
Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...
- Swift语言快速入门
Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著 ISBN 978-7-121-24328-8 201 ...
- 窥探Swift系列博客说明及其Swift版本间更新
Swift到目前为止仍在更新,每次更新都会推陈出新,一些Swift旧版本中的东西在新Swift中并不适用,而且新版本的Swift会添加新的功能.到目前为止,Swift为2.1版本.去年翻译的Swift ...
- .NET 4 并行(多核)编程系列之一入门介绍
.NET 4 并行(多核)编程系列之一入门介绍 本系列文章将会对.NET 4中的并行编程技术(也称之为多核编程技术)以及应用作全面的介绍. 本篇文章的议题如下: 1. 并行编程和多线程编程的区别. ...
- Swift语法基础入门三(函数, 闭包)
Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...
- Swift语法基础入门四(构造函数, 懒加载)
Swift语法基础入门四(构造函数, 懒加载) 存储属性 具备存储功能, 和OC中普通属性一样 // Swfit要求我们在创建对象时必须给所有的属性初始化 // 如果没办法保证在构造方法中初始化属性, ...
- Swift语法基础入门二(数组, 字典, 字符串)
Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...
- Google C++测试框架系列:入门
Google C++测试框架系列:入门 原始链接:V1_6_Primer 注 GTest或者Google Test: Google的C++测试框架. Test Fixtures: 这个词实在找不到对应 ...
- Pandas系列之入门篇
Pandas系列之入门篇 简介 pandas 是 python用来数据清洗.分析的包,可以使用类sql的语法方便的进行数据关联.查询,属于内存计算范畴, 效率远远高于硬盘计算的数据库存储.另外pand ...
- Pandas系列之入门篇——HDF5
Pandas系列之入门篇--HDF5 简介 HDF5(层次性数据格式)作用于大数据存储,其高效的压缩方式节约了不少硬盘空间,同时也给查询效率带来了一定的影响, 压缩效率越高,查询效率越低.pandas ...
随机推荐
- java输出流实现文件下载
//导出Excel try { HSSFWorkbook wb = carService.export(list); //调用service方法~! response.setContentType(& ...
- Logstash最佳实践
http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html
- **apache环境下 禁止显示 index of/ 目录下(如何禁止访问网站根目录)
比如: http://123.57.49.XX6// 当这样访问的时候,可能会列出网站的根目录 如何禁止列出网站目录,方法如下: 让别人知道你的网站目录结构直接查看你目录下的所有文件是很危险的一个事情 ...
- ExtJs之单选及多选框
坚持 <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-eq ...
- PHP:错误 Deprecated: Function split() is deprecated in ... 解决办法
PHP:错误 Deprecated: Function split() is deprecated in ... 解决办法 PHP5.3 split() 不建议使用的原因:PHP 5.3.0 之后的r ...
- [转]应聘Java,jsp,j2ee软件工程师笔试中可能出现的问题
相信大家应聘的时候第一关就是笔试,即使是一位很有经验的工程师也不一定能够顺利通过,笔试不好,可能就无法进行面试,即使能够进行面试,考官对你的印象也不会很好,问的问题也会很多,估计很难吃的消,当然如果你 ...
- oracle记录解锁
oracle 怎样查一个表中的记录是否被锁住了 怎么查询一个数据库中有几个表引用了其中某个特定表的主键做为其外键的select t.table_name from user_constraints ...
- Linux 操作系统的用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入 系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...
- linux fork函数与vfork函数,exit,_exit区别
man vfork: NAME vfork - create a child process and block parent SYNOPSIS #include <sys/types.h> ...
- C#基础(二)
变量的命名规则: 1.变量名由字母,数字 ,下划线组成.@ 中文 2.首字母,不能是数字 3.不能与关键字重名 变量的定义 语法: 数据类型 变量名[=值]; int a; //只定义变量 ...