12 2015 档案

摘要:原创文章,欢迎转载。转载请注明:关东升的博客 能放到try后面调用函数或方法都是有要求的,他们是有可能抛出错误,在这些函数或方法声明的参数后面要加上throws关键字,表示这个函数或方法可以抛出错误。 声明抛出错误方法示例代码如下: //删除Note记录方法 func remove(model: N 阅读全文
posted @ 2015-12-30 10:35 智捷iOS课堂 阅读(170) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 Swift 1.x的错误处理模式存在很多弊端,例如:为了在编程时候省事,给error参数传递一个nil,或者方法调用完成后不去判断error是否为nil,不进行错误处理。 let contents = NSString(contentsOfFile: f 阅读全文
posted @ 2015-12-28 09:38 智捷iOS课堂 阅读(251) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 Swift错误处理模式,在Swift 1.x和Swift 2.0是不同的两种模式。 Swift 1.x代码错误处理模式采用Cocoa框架错误处理模式,到现在Objective-C还沿用这种处理模式,而Swift 2.0之后采用了do-try-catch错 阅读全文
posted @ 2015-12-25 10:52 智捷iOS课堂 阅读(252) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 扩展类型的时候,也可以添加新的构造函数。值类型与引用类型扩展有所区别。值类型包括了除类以外的其他类型,主要是枚举类型和结构体类型。 值类型扩展构造函数 扩展结构体类型中定义构造函数的示例: struct Rectangle { var width : D 阅读全文
posted @ 2015-12-23 10:52 智捷iOS课堂 阅读(196) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 可以在原始类型上扩展计算属性,包括实例计算属性和静态计算属性。添加计算属性的定义,与普通的计算属性的定义是一样的。 实例计算属性示例:在网络编程时,为了减少流量,从服务器端返回的不是信息描述,而是编码,然后在本地再将编码转换为描述信息。为此定义了如下In 阅读全文
posted @ 2015-12-21 11:20 智捷iOS课堂 阅读(297) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 声明扩展的语法格式如下: extension 类型名 { //添加新功能 } 声明扩展的关键字是extension,“类型名”是Swift中已有的类型,包括类、结构体和枚举,但是我们仍然可以扩展整型、浮点型、布尔型、字符串等基本数据类型,这是因为这些类型 阅读全文
posted @ 2015-12-16 15:35 智捷iOS课堂 阅读(166) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 继承会发生在子类和父类之间,是一系列类的继承关系。 例如:Person是类层次结构中的根类,Student是Person的直接子类,Worker是Person的直接子类。 这个继承关系类的具体实现代码如下: class Person { var name 阅读全文
posted @ 2015-12-14 11:15 智捷iOS课堂 阅读(200) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 在类的定义中使用final关键字声明类、属性、方法和下标。final声明的类不能被继承,final声明的属性、方法和下标不能被重写。 下面看一个示例: final class Person { //声明为final,说明它是不能被继承的 var name 阅读全文
posted @ 2015-12-11 10:17 智捷iOS课堂 阅读(223) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 下标是一种特殊属性。子类属性重写是重写属性的getter和setter访问器,对下标的重写也是重写下标的getter和setter访问器。 下面看一个示例: class DoubleDimensionalArray { let rows: Int, co 阅读全文
posted @ 2015-12-09 10:26 智捷iOS课堂 阅读(190) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 重写实例方法 在子类中重写从父类继承来的实例方法和静态方法。先介绍实例方法的重写。 下面看一个示例: class Person { var name: String var age: Int func description() -> String { 阅读全文
posted @ 2015-12-07 10:14 智捷iOS课堂 阅读(227) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 重写实例属性 我们可以在子类中重写从父类继承来的属性,属性有实例属性和静态属性之分,他们在具体实现也是不同的。 实例属性的重写一方面可以重写getter和setter访问器,另一方面可以重写属性观察者。 计算静态属性需要使用getter和setter访问 阅读全文
posted @ 2015-12-04 13:20 智捷iOS课堂 阅读(217) 评论(0) 推荐(0) 编辑
摘要:原创文章,欢迎转载。转载请注明:关东升的博客 Swift中的子类构造函数的来源有两种:自己编写和从父类继承。并不是父类的所有的构造函数都能继承下来,能够从父类继承下来的构造函数是有条件的,如下所示。 l 条件1:如果子类没有定义任何指定构造函数,它将自动继承所有父类的指定构造函数。 l 条件2:如果 阅读全文
posted @ 2015-12-02 12:02 智捷iOS课堂 阅读(196) 评论(0) 推荐(0) 编辑