
swift
iOS-null
这个作者很懒,什么都没留下…
展开
-
Swift学习笔记---Error Handling
表现和抛出错误 在 Swift 中,errors 通过一些遵守 Error 协议的值表示。空的协议 代表一个类型可以用作错误处理。 Swift中的枚举类型非常适合建立相关错误的模型,枚举容许存放一些关于 错误的信息。下面的例子是我们使用自动售货机时的错误模型 enum VendingMachineError: Error { case invalidSelection ca原创 2017-02-27 17:28:10 · 937 阅读 · 0 评论 -
Swift 学习笔记---Optional Chaning
Optional Chaining可选链是一个可选变量上调用方法,属性和下标的请求过程的过程。 这个可选变量可能是 nil。如果可选变量包含一个值,那么调用就是 成功的。如果可选变量是 nil,调用将放回 nil。多重查询能够被链 接在一起,如果任何链接在链上是 nil,那么全部都是 nil。 Optional Chaining as an Alternative to Forced Unwrapp原创 2016-11-26 11:50:05 · 592 阅读 · 0 评论 -
自动引用计数
ARC 如何工作 每当你产生一个对象,ARC分配一大块控件去存储这个对象。 除此之外,当一个对象是不在需要,ARC 将会收回这个实例对象所占的空间,如果一个对象的空间被释放掉,但是你任然通过对象的引用调用方法或者属性,你的程序将要崩溃。为 了不让对象被释放掉 ARC将会追踪有多少属性、常量、变量正在引用这个对象。只要有一个在引用他 ARC 将不会释放这个对象。因此当年给属性、常量原创 2016-11-25 17:09:22 · 308 阅读 · 0 评论 -
Swift学习笔记---Deinitialization
一个类的实例对象所占资源被收回时,析构器将会被调用。只有类才有析构器。析构器如何工作 Swift 能够更加对象的引用计数,来自动释放一个对象。当我们现在一个对象被释放前做一些处理工作,那么我们就要有自己的析构器。每个类最多只有一个析构器,想下面这样: deinit { // perform the deinitialization } 析构器在实例对象被释放前调用,不能人为的去原创 2016-11-07 14:24:11 · 562 阅读 · 0 评论 -
Swift 学习笔记---Initialization
一.建立存储属性的初始化值 当获得结构体和类的实例必须给他们的存储属性设置初始化值。你有两种方法来初始化。一种方法设置初始化器, 另一种方法是设置默认值。当给一个存储属性初始化的时候,不会调用观察者方法。 Initializers 当获得一个类型的实例时,初始化器被自动调用。一个初始化器像一个实例方法。我们用 init 关键字来表示初始化方法。 init() { // pe...原创 2016-10-26 09:28:15 · 360 阅读 · 0 评论 -
Swift 学习笔记---Inheritance
一.定义基类 如果一个类没有继承于其它类,那么它被称谓基类。注意Swift 中的类没有通用的基类。 class Vehicle { var currentSpeed = 0.0 var description: String { return "traveling at \(currentSpeed) miles per hour" } func makeNoise() { ...原创 2016-10-10 14:28:21 · 377 阅读 · 0 评论 -
Swift 学校笔记---Subscripts
Subscripts类、结构体、枚举能够通过下标来获取其中的值。一下标语法 通过在一个方括号里写一个或者更多个值,下标可以查询实例对象。通过写 subscript 来定义一个下标,并且我们可以指定一个或者多个输入值和一个返回值。下标可以是 read-write 或者 read-only。 subscript(index: Int) -> Int { get { // return an原创 2016-10-07 14:38:09 · 360 阅读 · 0 评论 -
Swift 学习笔记---Methods
方法是与特定类型联系的方法。Classes、structures和enumerations能够定义实例方法也能够定义类方法。一实例方法实例方法是属于Classes、structures和enumerations实例的方法,它的定义和函数一样。 class Counter { var count = 0 func increment() { count += 1 } func incremen原创 2016-10-06 15:17:21 · 331 阅读 · 0 评论 -
Swift学习笔记 ---Properties
一.存储属性 存储属性是一个变量或者是一个常量,其被放置在类或者结构体的定义中。我们可以给存储属性设置一个默认值。在初始化期间我们可以改变存储属性的值,即使存储属性是 let。 常量结构体的存储属性 如果你生成一个结构体的实例对象并把这个对象复制给一个常量,那么结构体中的所有存储属性都不能改变,包括 var 懒惰的存储属性 懒惰的存储属性只有在它第一次被用的时候才会被原创 2016-09-29 19:33:12 · 333 阅读 · 0 评论 -
Classes and Structures
一.定义语法 class SomeClass { // class definition goes here } struct SomeStructure { // structure definition goes here } 注意:一般类名和结构名首字母都大学,方法和属性都小写。 struct Reso原创 2016-09-25 16:34:03 · 208 阅读 · 0 评论 -
swift学习笔记 -- Enumerations
一.枚举语法 enum 枚举名{ case:枚举名 case:枚举名 case:枚举名 ....... } enum CompassPoint { case north case south case east case west }原创 2016-09-21 08:49:43 · 382 阅读 · 0 评论 -
swift学习笔记 -- Functions
一 定义和调用函数 func 函数名(参数名:参数类型) -> 返回值类型{ } 如: func greet(person: String) -> String { let greeting = "Hello, " + person + "!" return greeting原创 2016-09-06 21:13:15 · 284 阅读 · 0 评论 -
swift学习笔记 --- Control Flow
这篇文章主要讲 swift 和 C 语言不同的地方 For-In Loops 用这个便于遍历数组,字典等 Repeat-While 相当于 C 里的 do-While原创 2016-09-01 17:58:42 · 300 阅读 · 0 评论 -
swift学习笔记----Strings and Characters
初始化一个空的String 初始化一个空的字符串有两种方式: 1.var emptyString = "" 2.var anotherEmptyString = String() 上面这两种方式完全相同,我们可以通过字符串的isEmpty属性来判断是否为空 String的可变性 这完全取决于变量是let还是var 字符串是值类型原创 2016-08-29 21:55:34 · 581 阅读 · 0 评论