
swift
文章平均质量分 56
Micheal_Xiao
如果你感到辛苦,那是因为你走在上坡路上。
展开
-
swift学习日志—— 属性
存储属性 简单来说,一个存储属性就是存储在特定类或结构体的实例里的一个常量或变量。存储属性可以是变量存储属性(用关键字var定义),也可以是常量存储属性(用关键字let定义)。 可以在定义存储属性的时候指定默认值,请参考默认构造器一节。也可以在构造过程中设置或修改存储属性的值,甚至修改常量存储属性的值,请参考构造过程中常量属性的修改一节。 下面的例子定义了一个名为FixedLen原创 2015-12-28 09:32:12 · 519 阅读 · 0 评论 -
swift学习日志—— 结构体和类
//结构体和枚举都是值类型,即值类型被赋予给一个变量、常量或者被传递给一个函数的时候,其值会被拷贝。 //类是引用类型,与值类型不同,引用类型在被赋予到一个变量、常量或者被传递到一个函数时,其值不会被拷贝。因此,引用的是已存在的实例本身而不是其拷贝。 //恒等运算符 /* 等价于(===) 不等价于(!==) 请注意,“等价于”(用三个等号表示,===)与“等于原创 2015-12-24 16:08:33 · 358 阅读 · 0 评论 -
swift学习日志—— 闭包(二)
非逃逸闭包 当一个闭包作为参数传到一个函数中,但是这个闭包在函数返回之后才被执行,我们称该闭包从函数中逃逸。当你定义接受闭包作为参数的函数时,你可以在参数名之前标注@noescape,用来指明这个闭包是不允许“逃逸”出这个函数的。将闭包标注@noescape能使编译器知道这个闭包的生命周期。 一种能使闭包“逃逸”出函数的方法是,将这个闭包保存在一个函数外部定义的变量中。举个例子,很多启动异原创 2015-12-23 17:04:58 · 645 阅读 · 0 评论 -
swift学习日志—— 闭包(一)
Swift 中的闭包定义是:闭包是自包含的匿名函数代码块,可以作为表达式、函数参数和函数返回值,闭包表达式的运算结果是一种函数类型。Swift中的闭包类似于Objective-C 中的代码块block、Java中的匿名内部类。 使用闭包表达式 Swift中的闭包表达式很灵活,其标准语法格式如下: { (参数列表) ->返回值类型in 语句组 } 其中,参数列表与函数中的参数列原创 2015-12-23 11:34:22 · 564 阅读 · 0 评论 -
swift学习日志——可变参数
可变参数原创 2015-12-22 15:08:30 · 592 阅读 · 0 评论 -
swift学习日志——输入输出参数
输入输出参数(In-Out Parameters) 变量参数,正如上面所述,仅仅能在函数体内被更改。如果你想要一个函数可以修改参数的值,并且想要在这些修改在函数调用结束后仍然存在,那么就应该把这个参数定义为输入输出参数(In-Out Parameters)。 定义一个输入输出参数时,在参数定义前加 inout 关键字。一个输入输出参数有传入函数的值,这个值被函数修改,然后被传出函数,替原创 2015-12-22 10:40:36 · 542 阅读 · 0 评论 -
swift学习日志—— Log日志
Log 输出是程序开发中很重要的组成部分,虽然它并不是直接的业务代码,但是却可以忠实地反映我们的程序是如何工作的,以及记录程序运行的过程中发生了什么。在OC中的Log日志设置请看我的另一篇博客:设置Log日志打印开关 在 Swift 中,最简单的输出方法就是使用 print,在我们关心的地方输出字符串和值。但是这并不够,试想一下当程序变得非常复杂的时候,我们可能会输出很多内容,而原创 2015-12-31 11:55:09 · 4148 阅读 · 1 评论 -
swift学习日志—— lazy懒加载
懒加载或者说延时初始化是很常用的优化方法,在构建和生成新的对象的时候,内存分配会在运行时耗费不少时间,如果有一些对象的属性和内容非常复杂的话,这个时间更是不可忽略。另外,有些情况下我们并不会立即用到一个对象的所有属性,而默认情况下初始化时,那些在特定环境下不被使用的存储属性,也一样要被初始化和赋值,也是一种浪费。 在其他语言 (包括 Objective-C) 中懒加载的情况是很常原创 2015-12-30 11:26:09 · 484 阅读 · 0 评论 -
swift学习日志—— 属性观察
属性观察 (Property Observers) 是 Swift 中一个很特殊的特性,利用属性观察我们可以在当前类型内监视对于属性的设定,并作出一些响应。Swift 中为我们提供了两个属性观察的方法,它们分别是 willSet 和 didSet。 使用这两个方法十分简单,我们只要在属性声明的时候添加相应的代码块,就可以对将要设定的值和已经设置的值进行监听了: class My原创 2015-12-29 14:08:18 · 403 阅读 · 0 评论 -
swift学习日志—— if let 与 guard 语法糖
工作比较忙,加上swift3.0也快出来了,听说核心代码又改变了(妈蛋,又得改代码了),swift的学习放了好久,有些都快忘了,赶紧复习下。 好,进入正题。 话说if let 和 guard 只是语法糖,没有也可以,但有了可以使得代码更简洁方便。要理解 if let 和 guard,不妨设想假如没有这两者,代码会怎么写。 -----------------------------------原创 2016-06-02 15:04:39 · 4755 阅读 · 0 评论