文章归档

让Playground支持UIKit框架

Xcode 6新增了Playground用来学习和测试Swift代码。它能够实时的看到代码的效果,包括变量、终端输出甚至是Cocoa框架中的UI控件,而苹果在WWDC 2014上还演示了SpriteKit框架在Playground中的使用。不过默认情况下Playground只支持Mac的Cocoa框[......]

Read more

标签: , , , ,
文章分类 iOS 8开发

Swift编程高级教程(九)析构函数

对象在释放的时候会调用析构函数。我们通过deinit关键字定义析构函数。只有类类型才能够定义析构函数。

析构函数如何工作

当对象不再被使用的时候,Swift自动释放它们,并且释放所占有的资源。Swfit使用ARC(自动引用计数)进行内存管理。除非使用了自己的资源,一般情况下都不需要手动进行清[......]

Read more

标签: , , , , , , , , ,
文章分类 iOS 8开发

Swift编程高级教程(八)闭包

闭包

闭包是一个独立的函数功能代码段,我们可以在代码之间当作变量那样使用和传递他。Swift里的闭包和Apple的C语言和Objective-C语言里的block以及其他语言里的lambda表达式非常类似。

闭包可以capture在上下文中的任何常量和变量并在其定义内存储其引用,这就是所谓的闭合[......]

Read more

标签: , , , , , , , , , , , , , , ,
文章分类 iOS 8开发

Swift编程高级教程(二)变量与常量上

属性

属性是依赖于某个特定的类、结构体或者枚举类型的值。Swift有两种属性:存储类型和计算类型。其中存储类型可以作为实例的一部分存放变量或者常量的值,而计算类型的属性值是通过运算的来的。计算类型的属性可以在类、结构体和枚举类型中出现,但存储类型只可能出现在类和结构体类型中。

属性一般依赖于一个[......]

Read more

标签: , , , , , , ,
文章分类 iOS 8开发

Swift与Objective-C API交互(三)

Swift类型兼容性

定义一个继承自NSObject或者其他Objective-C的类,它自动与Objective-C兼容。如果你不需要将Swift对象导入Objective-C代码的话,没必要关注类型的兼容性。但是如果在Swift中定义的类不是Objective-C类的子类,在Objective[......]

Read more

标签: , , , , ,
文章分类 iOS 8开发

Swift与Objective-C API交互(二)

兼容id类型

Swift包含一个叫AnyObject的协议,与Objective-C中的id类似,可以表示任意类型的对象。AnyObject协议允许你在利用无类型对象的灵活性的同时保持类型安全。
你可以给AnyObject类型的变量赋任意的值:

var myObject: AnyObjec[......]

Read more

标签: , , , ,
文章分类 iOS 8开发

Swift简明教程(七)泛型

使用尖括号可以定义泛型函数或类型。

func repeat<ItemType>(item: ItemType, times: Int) -> ItemType[] {
    var result = ItemType[]()
    for i in 0..times[......]

Read more

标签: , , , ,
文章分类 iOS 8开发

Swift简明教程(五)枚举与结构体

使用enum关键字创建枚举类型。与类类似,枚举类型中一样可以定义方法。

enum Rank: Int {
    case Ace = 1
    case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
    case Jac[......]

Read more

标签: , , ,
文章分类 iOS 8开发

Swift简明教程(三)-函数与闭包

Swift使用func关键字定义函数,然后与C语言一样使用函数名进行调用,而函数返回值类型用->标示。

func greet(name: String, day: String) -> String {
    return "Hello \(name), today is \([......]

Read more

标签: , , ,
文章分类 iOS 8开发