期待已久的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)的更多相关文章

  1. Swift 3.0 【Swift 3.0 相较于 Swift 2.2 的变化】

    一.编译器和语法变化 函数或方法参数 调用函数或方法时从第一个参数开始就必须指定参数名 在Swift的历史版本中出现过在调用函数时不需要指定任何函数参数(或者从第二个参数开始指定参数名),在调用方法时 ...

  2. Swift开发学习-01 Swift介绍

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

  3. Swift翻译之-关于Swift

    IMPORTANT 重要的 This is a preliminary document for an API or technology in development. Apple is suppl ...

  4. iOS8开发~Swift(五)Swift与OC混编

    一.概要 首先看<The Swift Programming Language>中提到"Swift's compatibility with Objective-C lets y ...

  5. swift 项目 oc 和 swift 混用,文件相互引用

    创建swift工程后,如果后面想新建 oc 文件,这时会生成一个  AppName-Bridging-Header.h文件 一,在swift 文件中 1> 引用swift 文件 什么都不需要操作 ...

  6. Swift入门Hello World! Swift.

    苹果公司推出新的开发语言Swift,随着关于趋势,外观和OC什么是不一样的地方. 前提条件:已安装Xcode6-Beta(这个过程是不表) 1.打开Xcode6-Beta,第二选择Create a n ...

  7. 《Swift Programming Language 》——Swift中怎样使用继承(Inheritance)

    一个类能够继承(inherit)还有一个类的方法(methods),属性(property)和其他特性.当一个类继承其他类时,继承类叫子类(subclass),被继承类叫超类(或父类,supercla ...

  8. 4.Swift教程翻译系列——Swift基本运算符

    英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 运算符是指一个特殊的符号,能够用来查看.更改值或者相加.比方说加法运算符+能够讲 ...

  9. Swift初窥--使用Swift实现TableView

    完毕Swift的语法关之后.来点实际的Task,第一个任务是写一个tableview,使用cocoaTouch里tableview这个经常使用的控件. 创建project.选择Swift语言 首先是用 ...

随机推荐

  1. jQuery的原理

    JQ的原理 jquery-1.xxx :专门为PC端诞生的类库,兼容所有的浏览器 jquery-2.xxx:当初是为了移动端而准备的,所以IE低版本浏览器一般不兼容,但是这个版本针对移动端的事件等操作 ...

  2. JS学习笔记 - cookie设置、读取、删除

    <script> // 设置cookie function setCookie(name, value, iDay) { var oDate = new Date(); oDate.set ...

  3. 如何使用 PyCharm 将代码上传到GitHub上(详细图解)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一丶说明 测试条件:需要有GitHub账号以及在本地安装了Git工具,无论是Linux环境还是Windows都是一样的 如果还没有 ...

  4. 利用OBJECT_DEFINITION函数来代码存档

    作为一名数据库管理员,在进行代码迁移之前,总是尽力给提交于开发环境的代码一个完整的面貌.但是,不得不承认,我不能保证不发生任何可能破坏开发系统的事情.当这种情况发生时,可能的补救措施是恢复到目标代码的 ...

  5. 【Codeforces Round #433 (Div. 2) C】Planning

    [链接]h在这里写链接 [题意] 让你确定ti,使得∑(ti-i)*gi最小,其中ti∈[k+1..k+n],且每个ti都不能一样. 且ti>=i必须成立. [题解] 分解一下成为∑ti*gi ...

  6. 使用github pages创建博客

      参考:http://wenku.baidu.com/link?url=hi0nlkIp17HnQQpCkUr3KacZOOVGMOYKYbWzjX_HKJZNZpiRxfGPLuwvUydOVxe ...

  7. DSO Framer _ WinForm 使用

    根据自己对dsoframer控件的学习,想把dsoframer控件进行简单的包装为C#的usercontrol,大体需要作如下:(创建windows的usercontrol的步骤就不再说了...)我们 ...

  8. 【p092】分数线划定

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 世博会志愿者的选拔工作正在A市如火如荼地进行.为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔 ...

  9. 一起学libcef--给你的浏览器删除cookie

    long long ago, 我们讨论了如给你cef设置cookie. 如今来补充一点,假设给你的浏览器删除某一cookie. review一下设置cookie: std::wstring usern ...

  10. mysql 查询字段名所在的表

    select * from (select * from information_schema.COLUMNS where table_schema = '数据库名') temp where colu ...