- 博客(18)
- 资源 (36)
- 收藏
- 关注
原创 Swift 基本知识之十九 swift懒加载(lazy修饰符)
延时加载或者说延时初始化是很常用的优化方法,在构建和生成新的对象的时候,内存分配会在运行时耗费不少时间,如果有一些对象的属性和内容非常复杂的话,这个时间更是不可忽略。另外,有些情况下我们并不会立即用到一个对象的所有属性,而默认情况下初始化时,那些在特定环境下不被使用的存储属性,也一样要被初始化和赋值,也是一种浪费。在其他语言 (包括 Objective-C) 中延时加载的情况是很常见的。我们在第一次
2016-01-29 21:10:40 4432
原创 Swift 基本知识之十八 swift格式化输出和反射机制
double的格式化输出 例如保留两位小数//Double的延展extension Double { func format(f: String) -> String { return String(format: "%\(f)f", self) }}let b:Double = 1.2568let form = String(format: "%.2f",b
2016-01-29 20:35:54 4629
原创 Swift 基本知识之十七 swift遍历数组的几种方式
第一种 for 循环方式 第二种 for in方式 第三种 索引-值方式enumerate()第一种 for循环方式let arr:Array<Int> = [1,2,3,4,6,7,8,9,22]let legh = arr.countfor var i = 0;i < legh;i++ { printLogs("\(i)")}结果: 第二种 方式 forin 方式l
2016-01-29 19:46:51 8471
原创 Swift 基本知识之十六 swift与C 混编的两种方式
第一种方式 通过建桥接文件,达到与C混编 第二种方式,通过隐藏的符号 @asmname把C语言的函数映射成swift的函数 具体以下解释*第一种 桥接方式*-------而对于第三方的 C 代码,Swift 也提供了协同使用的方法。我们知道,Swift 中调用 Objective-C 代码非常简单,只需要将合适的头文件暴露在 {product-module-name}-Bridging-He
2016-01-29 19:08:09 3931
原创 Swift 基本知识之十五 swift编码
在 Objective-C 中 @encode 使用起来很简单,通过传入一个类型,我们就可以获取代表这个类型的编码 C 字符串:char *typeChar1 = @encode(int32_t); char *typeChar2 = @encode(NSArray); // typeChar1 = "i", typeChar2 = "{NSArray=#}"我们可以对任意的类型进行这样的
2016-01-29 17:54:53 4365
原创 Swift 基本知识之十四 Sizeof 和 sizeofValue 解析
喜欢写 C 的读者可能会经常和 sizeof 打交道,不论是分配内存,I/O 操作,还是计算数组大小的时候基本都会用到。这个在 C 中定义的运算符可以作用于类型或者某个实际的变量,并返回其在内存中的尺寸 size_t (这是和平台无关的一个整数类型)。在 Cocoa 中,我们也有一部分 API 需要涉及到类型或者实例的内存尺寸,这时候就可以使用 sizeof 来计算。一个常见的用例是在从一个数组生成
2016-01-29 17:34:07 7161
原创 Swift 基本知识之十三 构造函数
存储属性的初始赋值自定义构造过程默认构造器值类型的构造器代理类的继承和构造过程可失败构造器必要构造器通过闭包或函数设置属性的默认值构造过程是使用类、结构体或枚举类型的实例之前的准备过程。在新实例可用前必须执行这个过程,具体操作包括设置实例中每个存储型属性的初始值和执行其他必须的设置或初始化工作。通过定义构造器(Initializers)来实现构造过程,这些构造器可以看做是用来创建特定
2016-01-29 17:09:46 4274
原创 Swift 基本知识之十二 继承
定义一个基类(Base class) 子类生成(Subclassing) 重写(Overriding) 防止重写(Preventing Overrides)一个类可以继承(inherit)另一个类的方法(methods),属性(properties)和其它特性。当一个类继承其它类时,继承类叫子类(subclass),被继承类叫超类(或父类,superclass)。在 Swift 中,继承是区分
2016-01-29 09:45:23 3981
原创 Swift 基本知识点之十 —willSet与didSet的用法
属性观察器 属性观察器监控和响应属性值的变化,每次属性被设置值的时候都会调用属性观察器,甚至新值和当前值相同的时候也不例外。可以为除了延迟存储属性之外的其他存储属性添加属性观察器,也可以通过重写属性的方式为继承的属性(包括存储属性和计算属性)添加属性观察器。属性重写请参考重写。注意 不需要为非重写的计算属性添加属性观察器,因为可以通过它的 setter 直接监控和响应值的变化。 可以为属性添加
2016-01-29 09:19:28 10546
原创 Swift 基本知识点之九 —通知,代理,闭包(OC中Block)从前向后传值解析
今天探讨Swift中的通知,代理,闭包三种方式进行传值 1 闭包传值 第一步 首先建立两个控制器 第一个控制器 ViewController.swift 如图import UIKitclass ViewController: UIViewController {//创建一个label //申明一个全局的label var fistLab:UILabel = UILabel(
2016-01-28 21:29:43 4094
原创 Swift 基本知识点之八 —类与结构体
属性 1 存储属性 2 计算属性 3 属性观察器 4 全局变量和局部变量 5 类型属性(1)属性将值跟特定的类、结构或枚举关联。存储属性存储常量或变量作为实例的一部分,而计算属性计算(不是存储)一个值。计算属性可以用于类、结构体和枚举,存储属性只能用于类和结构体。 (2)存储属性和计算属性通常与特定类型的实例关联。但是,属性也可以直接作用于类型本身,这种属性称为类型属性。 (3)另外,
2016-01-28 17:12:24 3789
原创 Swift 基本知识点之七类与结构体
类和结构体对比结构体和枚举是值类型类是引用类型类和结构体的选择字符串(String)、数组(Array)、和字典(Dictionary)类型的赋值与复制行为类和结构体是人们构建代码所用的一种通用且灵活的构造体。我们可以使用完全相同的语法规则来为类和结构体定义属性(常量、变量)和添加方法,从而扩展类和结构体的功能。与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接
2016-01-28 16:07:15 3796
原创 Swift 基本知识点之六枚举
枚举语法(Enumeration Syntax) 使用 Switch 语句匹配枚举值(Matching Enumeration Values with a Switch Statement) 关联值(Associated Values) 原始值(Raw Values) 递归枚举(Recursive Enumerations)枚举语法使用enum关键词来创建枚举并且把它们的整个定义放在一对大
2016-01-28 15:47:07 3722
原创 Swift 基本知识点之五闭包
闭包表达式(Closure Expressions)尾随闭包(Trailing Closures)值捕获(Capturing Values)闭包是引用类型(Closures Are Reference Types)非逃逸闭包(Nonescaping Closures)自动闭包(Autoclosures)闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift 中的闭包与 C 和 O
2016-01-28 15:37:34 3782
原创 Swift 基本知识点之四函数
函数(Functions)1.0 翻译:honghaoz 校对:LunaticM2.0 翻译+校对:dreamkidd2.1 翻译:DianQK 定稿:shanks本页包含内容:函数定义与调用(Defining and Calling Functions)函数参数与返回值(Function Parameters and Return Values)函数参数名称(Function Paramet
2016-01-28 14:56:25 3732
原创 Swift 基本知识点之三流程控制
Swift 流程控制主要包括五种: 1)for循环 2)While循环 3)条件语句 4) 控制转移语句 5) 提前推出语句 6) 检测API 可用性 Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行不同代码分支的if、guard和switch语句,还有控制流程跳转到其他代码的break和continue语句。除了
2016-01-27 20:47:54 4011
原创 Swift 基本知识点之二集合介绍
在Swift中支持数组,集合,字典 跟OC一样 1 数组(Arrays)-----------数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。(注意: Swift 的Array类型被桥接到Foundation中的NSArray类。)1.1 数组的语法写 Swift 数组应该遵循像Array<Element>这样的形式,其中Element是这个数组中唯一允许存
2016-01-27 19:47:19 3843
原创 Swift 基本知识点之一基本概念
1 变量 常量变量 在swift 变量可以用数字外的任何字符打头,但提倡使用更长,意义更丰富的变量名,以提高代码的可读性 变量的表示用:var a =2 (注意:等号两边要空格都空格否则会报错)。常量 故名思义存储的值始终不会发生变化,不同于变量,常量值一旦赋值就不能被改变,跟变量一样,常量也有数据类型,类型一旦指定就不能改变 例如:let c = 32 接下来我们介绍一下Swift的类型 sw
2016-01-26 20:09:30 4020
iOS开的常见8中传值(初始化传值,代理传值,属性传值,代理传值,block传值,通知传值,NSuserDefault传值,AppDelegate传值)
2016-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人