欢迎来到Swift天地(Welcome to Swift)
期待已久的WWDC真的是不管是什么硬件更新,没有太多的开发者,本次会议是还是很有亮点。水果给我们带来了一种新的语言Swift。种无比简洁高效的语言,并且新的 Swift 语言依然会和 C 与 Object-C 相兼容。
原文地址:Welcome to Swift
欢迎来到swift的世界
Swift是水果公司推出的新型面向对象语言,用于iOS和OS X平台开发。
它是一种现代的(modern)、功能强大的、易于使用的语言。
以下的代码段创建了一个字典并遍历、打印全部元素:
let people = ["Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25]
for (name, age) in people {
println("\(name) is \(age) years old.")
}
安全性:
Swift的类型推导(type inference)机制是类型安全的。Swift限制了对指针的直接訪问。而且自己主动管理内存。是它可以更easy的搭建安全、稳定的软件。
func configureLabels(labels: UILabel[]) {
let labelTextColor = UIColor.greenColor()
for label in labels {
// label inferred to be UILabel
label.textColor = labelTextColor
}
}
现代化:
Swift涵盖了(optionals)、泛型(generics)、元组(Tuple)等其它现代语言的特性。它的启示和改进使objective-c和swift的代码使用起来更自然
let cities = ["London", "San Francisco", "Tokyo", "Barcelona", "Sydney"]
let sortedCities = sort(cities) { $0 < $1 }
if let indexOfLondon = find(sortedCities, "London") {
println("London is city number \(indexOfLondon + 1) in the list")
}
功能强大:
Swift拥有强大的模式匹配功能。可以高速编写简单的、表现力强的代码。Format strings 让字符串的操作更自然。在Swift中使用像Foundation、UIKit之类的框架也非常直接。
let size = (20, 40)
switch size {
case let (width, height) where width == height:
println("square with sides \(width)")
case (1..10, 1..10):
println("small rectangle")
case let (width, height):
println("rectangle with width \(width) and height \(height)")
}
交互式的
引入playgrounds具,我们可以用它来试验新技术、问题分析、而设计界面原型
高速
Swift编译器采用了先进的代码分析技术来调整代码的性能,让我们把重点放在如何建立一个伟大的app相反,在复杂的系统优化浪费时间
欢迎来到Swift天地(Welcome to Swift)的更多相关文章
- Swift 3.0 【Swift 3.0 相较于 Swift 2.2 的变化】
一.编译器和语法变化 函数或方法参数 调用函数或方法时从第一个参数开始就必须指定参数名 在Swift的历史版本中出现过在调用函数时不需要指定任何函数参数(或者从第二个参数开始指定参数名),在调用方法时 ...
- Swift开发学习-01 Swift介绍
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作,快 ...
- Swift翻译之-关于Swift
IMPORTANT 重要的 This is a preliminary document for an API or technology in development. Apple is suppl ...
- iOS8开发~Swift(五)Swift与OC混编
一.概要 首先看<The Swift Programming Language>中提到"Swift's compatibility with Objective-C lets y ...
- swift 项目 oc 和 swift 混用,文件相互引用
创建swift工程后,如果后面想新建 oc 文件,这时会生成一个 AppName-Bridging-Header.h文件 一,在swift 文件中 1> 引用swift 文件 什么都不需要操作 ...
- Swift入门Hello World! Swift.
苹果公司推出新的开发语言Swift,随着关于趋势,外观和OC什么是不一样的地方. 前提条件:已安装Xcode6-Beta(这个过程是不表) 1.打开Xcode6-Beta,第二选择Create a n ...
- 《Swift Programming Language 》——Swift中怎样使用继承(Inheritance)
一个类能够继承(inherit)还有一个类的方法(methods),属性(property)和其他特性.当一个类继承其他类时,继承类叫子类(subclass),被继承类叫超类(或父类,supercla ...
- 4.Swift教程翻译系列——Swift基本运算符
英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 运算符是指一个特殊的符号,能够用来查看.更改值或者相加.比方说加法运算符+能够讲 ...
- Swift初窥--使用Swift实现TableView
完毕Swift的语法关之后.来点实际的Task,第一个任务是写一个tableview,使用cocoaTouch里tableview这个经常使用的控件. 创建project.选择Swift语言 首先是用 ...
随机推荐
- amazeui学习笔记--css(常用组件11)--分页Pagination
amazeui学习笔记--css(常用组件11)--分页Pagination 一.总结 1.分页使用:还是ul包li的形式: 分页组件,<ul> / <ol> 添加 .am-p ...
- Maven学习总结(16)——深入理解maven生命周期和插件
在项目里用了快一年的maven了,最近突然发现maven项目在eclipse中build时非常慢,因为经常用clean install命令来build项目,也没有管那么多,但最近实在受不了乌龟一样的b ...
- netty reactor线程模型分析
netty4线程模型 ServerBootstrap http示例 // Configure the server. EventLoopGroup bossGroup = new EpollEvent ...
- 硬件——STM32 , SN74HC573锁存器
74HC573是一款高速CMOS器件: 上图中:输出使能为:OE 锁存使能为:LE 典型电路: 上图中:PWR-AL-0,PWR-AL-1,PWR-AL-2:是单片机输出的高低电平给573 对应的 ...
- IDC报告:从IaaS到PaaS,阿里云主导云计算市场
11月7日,著名国际研究机构IDC发布了2017年上半年中国公共云PaaS市场调研结果,阿里云以27%的份额保持压倒性领先,是第二名的近三倍.结合IDC上一份IaaS市场的报告(阿里云第一,占比47. ...
- win32程序如何改变字体大小颜色
//设定文字大小和颜色 LOGFONT logfont; //改变输出字体 ZeroMemory(&logfont, sizeof(LOGFONT)); logfont.lfCharSet = ...
- [PostgreSQL] Ensure Uniqueness in Postgres
Let’s say we have a bank. Our bank wants to give each account for each user a unique name, for insta ...
- libiconv库链接问题一则
https://blog.csdn.net/jeson2090/article/details/54632063 出现过glibc中的iconv_open返回EINVAL,原因猜测是有些字符集转换不支 ...
- JS生成一个种子随机数(伪随机数)
原文链接:https://geniuspeng.github.io/2016/09/12/js-random/ 最近有一个需求,需要生成一个随机数,但是又不能完全随机,就是说需要一个种子seed,se ...
- excel转换成oracle建表脚本
package excel2sql; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundE ...