期待已久的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. 2017.1-TOP5 Android开源库

    Colorful (Github) Colorful简单实用,通过这个开源库可以通过编码的方式来改变应用的主题,不再需要定义不同的style dependencies { compile 'com.g ...

  2. Codeforces 232A - Cycles (构造 + 思维)

    题目链接: 232A - Cycles(点击打开) 题意: 要构成一个存在 \(k\) 个三元环的图,需要多少个点,输出顶点数 \(n\),并输出图. 题解: 题目中的任何图都可以用 \(90\)~ ...

  3. 一个开源.net混淆器——ConfuserEx (收藏)

    一个开源.net混淆器——ConfuserEx http://yck1509.github.io/ConfuserEx/ 由于项目中要用到.net 混淆器,网上搜寻了很多款,比如Dotfuscator ...

  4. python3 格式化输出给定时间的下一秒

    # 功能:输入一个时间,格式化输出该时间的下一秒 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan # 功能:输入一个 ...

  5. 安装后,挂载c盘失败

    现象: 安装后,window C盘mount失败 错误内容如下: Error mounting: mount exited with exit code 13: ntfs_attr_pread_i: ...

  6. ANSCII码和BCD码互转

    bool AtoBCD(unsigned char* Asc,unsigned char* BCD,int len) { int i; unsigned char ch; //高位 unsigned ...

  7. Android自定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...

  8. thinkphp3.2.3 自动验证 正则验证

    <?php namespace Home1\Model; use Think\Model; class ShopYuyueInfoModel extends Model { // protect ...

  9. [CSS] No selectable effect

    .noselect { -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Chrome/Safar ...

  10. GoJS超详细入门(插件使用无非:引包、初始化、配参数(json)、引数据(json)四步)

    GoJS超详细入门(插件使用无非:引包.初始化.配参数(json).引数据(json)四步) 一.总结 一句话总结:插件使用无非:引包.初始化.配参数(json).引数据(json)四步. 1.goj ...