自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 微信小程序画布手写签名

微信小程序手写画板界面布局<view class='content'> <canvas class='firstCanvas' canvas-id="firstCanvas" bindtouchmove='move' bindtouchstart='start' bindtouchend='...

2018-02-08 09:49:19 11689 6

原创 Swift 中的错误处理

Swift 错误处理在 Swift 中使用遵守 Error 协议的类型来表示错误,这是一个来自系统的空协议,凡是遵守该协议的类型都可以用于错误处理 Swift 中枚举类型最适合构建一组相关的错误状态enum FailError : Error { case ErrorOne case ErrorTwo case ErrorThree case ErrorFour

2017-09-19 17:36:54 483

原创 Swift 中的泛型

Swift 泛型泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,这种参数类型可以用在类型、函数、和方法中泛型能够让开发者编写自定义需求已经任意类型的灵活可用的的函数和类型。能够让我们避免重复的代码。用一种清晰和抽象的方式来表达代码的意图泛型函数定义一个交换两个值得泛型函数func swapTwoValues<T>(_ a : inout T, _ b : inout T){

2017-09-19 16:17:30 556

原创 Swift 中的代理 (Delegate)

Swift 代理代理是一种设计模式。它允许类或者结构体将自身负责的功能委托给其他的类型的实例去实现代码示例protocol GetFile { func take() -> String}class Boss { var delegate : GetFile init(man : GetFile) { delegate = man } fu

2017-09-13 15:49:33 304

原创 Swift 中的协议 (Protocol)

Swift 协议Swift 中的协议用来定义方法和属性 但协议本身不进行实现,而是由遵守该协议的类具体实现 与OC不同的是,协议可以被结构体和枚举遵守定义协议 protocol 协议名称 { 协议内容 }如果希望 定义的协议只能被类遵守 定义格式 protocol 协议名称 : Class { 协议内容 }对 Mutating 方法的规定有时需要在方法中改变它的实例。

2017-09-12 14:38:20 582

原创 Swift 中的扩展 (Extension)

Swift 扩展扩展(Extension)用于为已存在的类,结构体或者枚举等类型添加新的功能扩展可以对一个类型添加新的功能,但是不能重写已有的功能Swift 中的扩展可以:1.添加计算型属性和计算型静态属性 2.定义实例方法和类型方法 3.提供新的构造器 4.定义下标 5.定义和使用新的嵌套类型 6.使一个已有类型符合某个协议扩展使用 extension 来声明格式: exte

2017-09-12 14:27:43 437

原创 Swift 中的关键字 final和super

final 关键字可以在定义类和类的成时使用 final 关键字 它的含义分别如下1、在关键字class 前添加 final (修饰符) 可以将整个类标为 final ,这个样的类不可以被继承,视图继承这样的类会编译报错final class Person { } class Stu : Person { //编译报错 error: inheritance from a final clas

2017-09-07 13:39:51 1756

原创 Swift 中的继承 与 重写

Swift 继承:面向对象编程语言的一个重要的功能就是继承,继承的主要描述就是类与类的关系,通过继承可以在不必重写类的情况下,使用原有类的功能和进行扩展继承的实现属性的继承方法的继承属性观察器的继承下标脚本的继承(代码中没有写)代码示例class Person { //存储属性 var name = "老王" //类型属性 static var age

2017-09-06 17:41:47 342

原创 Swift 中的下标脚本

下标脚本下标脚本是访问对象,集合,或者序列的快速方式。开发者不需要调用实例特定的赋值和访问语法,就可以直接访问所需要的数值 下标脚本语法类似于实例方法和计算型属性的混合,与定义实例方法类似,下标脚本使用 subscript 关键字定义语法格式subscript (参数名1:数据类型,参数名2:数据类型) -> 返回值数据类型 { get{ //返回与参数类型匹配的类型的值

2017-09-06 16:05:54 406

原创 Swift 中的构造函数和析构函数

构造函数构造函数是一种特殊的函数,主要用来创建对象时初始化对象,为对象的属性设置初始值,在Swift 中所有的构造函数都是 init方法并且支持构造函数的重载代码示例//定一个基类class Person { var name : String var age : Int //构造函数 init() { self.name = "张三"

2017-09-06 15:33:43 484

原创 Swift 中的方法(函数)

Swift 中的方法方法其实就是定义在类中的函数, 在OC中,只可以在类中定义发方法,而在 Swift中,方法不仅可以定义在类,还可以定义在结构体、枚举中Swift 中的方法根据使用方式的不同可以分为 实例方法 和 类型方法实例方法代码示例class Person { func play(str:String) -> Void { print("玩 \(str)")

2017-09-06 14:11:24 255

原创 Swift 中的类型属性

类型属性:使用关键字 static 来定义 结构体、枚举、类 都可以定义类型属性 (在为类定义类型属性时 可以使用关键字 class 来代替 static 关键字 )结构体类型属性的语法格式 struct 结构体名 { static var 存储属性 = "xxxx" static var 计算属性名 : 属性数据类型 { return 计算后的属性值 }

2017-09-06 11:18:39 600

原创 Swift 中的计算属性、懒存储属性、属性观察器

计算属性Swift 中的计算属性不存储值 而是提供一个getter 和 setter 来分别进行获取值 和 设置其他属性的值 , getter 使用 get 关键字, setter 使用 set关键字进行定义。 如果计算属性的 setter方法没有将被设置的值定义一个名称,会默认使用 newValue 名称代替代码示例class person : NSObject { var len

2017-09-06 11:13:13 907

原创 Swift 中的闭包

Swift 中的闭包上一篇中介绍了全局函数和嵌套函数 他们就是特殊的闭包。闭包就是一个功能性自包含模块,可以在代码中被当做参数传递或者直接使用,类似于Objective-C 中的Block 或者其他语言中的匿名函数闭包的概念和定义闭包的表达式语法一般形式为{ (参数名1 : 参数类型,参数名2 : 参数类型)-> 返回值类型 in 闭包函数体 return 返回值 }代码示例le

2017-09-05 11:18:46 366

原创 Swift 中的函数

想要使用函数,必须先声明后调用,Swift 中使用 func 关键字来定义函数,每个函数都有一个函数名,用于描述函数要执行的任务,有的函数也包括参数或者返回值。函数的基本格式 func 函数名 (参数名1 : 参数类型, 参数名1 : 参数类型) -> 返回值类型 { 函数体 return 返回值 }无参函数有返回值func sayHello() -> String {

2017-09-04 14:46:33 217

原创 Swift 中的集合 (Set)

SetSet 用来存储相同类型并且没有明确的顺序的值,与数组不同的是,Set里面的元素是无序的,并且每个元素都不能重复Set 类型的基本格式为:Set<Element>()创建 Set创建一个空的Setlet letters = Set<Character>()通过数组创建Setlet favorites : Set<String> = ["红色","绿色","蓝色"]如果数组中所有

2017-09-01 16:50:38 2350

原创 Swift 中的结构体 (Struct)

定义结构体//定义结构体struct Location { //属性 var x : Double var y : Double}创建结构体对应的值var center = Location(x: 20, y: 30)创建系统结构体方式let rect = CGRect(x: 0, y: 0, width: 100, height: 100)let size = CGS

2017-08-31 21:35:15 3076

原创 Swift 中的枚举 (enum)

枚举类型的常见定义方式枚举类型的定义方式一enum MethodType1 { case get case post case put case delete}方式二enum MethodType2 { case get, post, put ,delete}创建枚举具体的值let type1 : MethodType1 = .getlet ty

2017-08-31 21:25:01 312

原创 ReactNaive组件生命周期

ReactNaive组件生命周期ReactNative 的生命周期大概分为三阶段,实例化阶段,运行阶段,销毁阶段RN 组件的生命周期整理如下图实例化阶段:是组件第一次绘制阶段,如图中的红色框内,在这里完成了组件的加载和初始化;运行阶段:是组件在运行和交互阶段,如图中绿色线框,这个阶段组件可以处理用户交互,或者接收事件更新界面;销毁阶段:是组件卸载消亡的阶段,如图中蓝色线框,这里做一些组件的

2017-08-31 10:45:12 411

原创 Swift 中的字典 (Dictionary)

1.字典的定义通过 var /let 创建可变 和 不可变字典1.1创建一个空的字典var dic1 : Dictionary<String,Any> = [:]var dic2 : [String : Any] = [:];var dic3 = Dictionary<String,Int>()var dic4 = [String:Any]()1.2创建一个不可变字典Let person : Di

2017-08-28 15:16:12 2243

原创 Swift 中的数组 (Array)

对比Swift 数组与Objective-C 1. 在Objective-c 中有`NSMutableArray` 和 `NSArray` 区分可变数组和不可变数组,但是 Swift 中通过`let` 和 `var` 来区分不可变数组和可变数组 2. Swift 数组可以使用加法赋值运算符(+=)或者加法运算符(+)来添加拥有相同类型的数组 3. Swift 中数组

2017-08-28 10:36:47 2201

原创 Swift 中的元组 (Tuples)

1.元组类型的字面量1.1元组类型的字面量格式(元素1,元素2,元素3,元素4,…元素值n)(“张三”,18,”男”)1.2也可以采用键值对的方式(元素名称1:元素1,元素名称2:元素2,元素名称3:元素3…) (name:”李四”,age:18,gender:”男”)2.声明元组类型常量和变量2.1元组类型声明为变量var stu1 = (“张三”,18,”男”) 2.2元组类

2017-08-28 10:09:25 432

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除