Swift
unique叶
这个作者很懒,什么都没留下…
展开
-
Swift - 类初始化和反初始化方法
//: Playground - noun: a place where people can playimport UIKit//init():类的初始化方法(构造方法)//使用默认构造函数class Student { //类属性 var name: String = "" ; var number: Int = 0 ; }va原创 2016-05-27 15:03:14 · 938 阅读 · 0 评论 -
Swift-析构过程
析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字deinit来标示,类似于构造器要用init来标示。析构过程原理Swift 会自动释放不再需要的实例以释放资源。如自动引用计数章节中所讲述,Swift 通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,你可能需要进行一些额外的清理。例如,如果创原创 2016-05-20 10:19:37 · 210 阅读 · 0 评论 -
Swift-自动引用计数
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"/* Swift 使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存。通常情况下,Swift 的内存管理机制会一直起着作用,你无须自己来考虑内存的管理。ARC 会在类的实例不再被使用时,自原创 2016-05-20 10:20:26 · 416 阅读 · 0 评论 -
Swift-可空链式调用
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"/* 可空链式调用(Optional Chaining)是一种可以请求和调用属性、方法及下标的过程,它的可空性体现于请求或调用的目标当前可能为空(nil)。如果可空的目标有值,那么调用就会成功;如果选原创 2016-05-20 10:21:50 · 503 阅读 · 0 评论 -
Swift-条件语句
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//For 循环/* Swift 提供两种for循环形式以来按照指定的次数多次执行一系列语句: for-in循环对一个集合里面的每个元素执行一系列语句。 for循环,用来重复执行一系列语句直原创 2016-05-20 10:22:35 · 256 阅读 · 0 评论 -
Swift-过滤器
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//Swift 提供了很多方便的函数来操作数组,比如 filter 和 map。在这篇文章里,我将带大家熟悉一下 filter,以及学习如何使用 map 来组合出新的数组。//假设你有一个数组,接着原创 2016-05-20 10:23:45 · 323 阅读 · 0 评论 -
Swift-错误处理
错误处理是响应错误以及从错误中返回的过程。swift提供第一类错误支持,包括在运行时抛出,捕获,传送和控制可回收错误。一些函数和方法不能总保证能够执行所有代码或产生有用的输出。可空类型用来表示值可能为空,但是当函数执行失败的事后,可空通常可以用来确定执行失败的原因,因此代码可以正确地响应失败。在Swift中,这叫做抛出函数或者抛出方法。举个例子,考虑到一个从磁盘上的一个文件读取以及处理数据原创 2016-05-20 10:25:02 · 565 阅读 · 0 评论 -
Swift-类型转换
类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。类型转换在 Swift 中使用 is 和 as 操作符实现。这两个操作符提供了一种简单达意的方式去检查值的类型或者转换它的类型。你也可以用它来检查一个类是否实现了某个协议,就像在 检验协议的一致性部分讲述的一样。定义一个类层次作为例子你可以将类型转换用在类和子类的层次结构上,检查特定类实例的类型并且转换这个类实例原创 2016-05-20 10:25:53 · 369 阅读 · 0 评论 -
Swift-扩展
扩展就是向一个已有的类、结构体、枚举类型或者协议类型添加新功能(functionality)。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和 Objective-C 中的分类(categories)类似。(不过与 Objective-C 不同的是,Swift 的扩展没有名字。)Swift 中的扩展可以:添加计算型属性和计算型静态属性定义实例方法和类型方法提供原创 2016-05-20 10:26:51 · 241 阅读 · 0 评论 -
Swift-协议
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//协议的语法//协议的定义方式与类,结构体,枚举的定义非常相似。protocol FirstProtocol { // 协议内容}protocol AnotherPr原创 2016-05-20 10:27:29 · 428 阅读 · 0 评论 -
Swift-Swift - 访问控制(private,internal,public)
在Swift语言中,访问修饰符有三种,分别为private,internal和public。同时,Swift对于访问权限的控制,不是基于类的,而是基于文件的。其区别如下:1,privateprivate访问级别所修饰的属性或者方法只能在当前的Swift源文件里可以访问。2,internal(默认访问级别,internal修饰符可写可不写)internal访问级别所修饰的原创 2016-05-20 10:48:06 · 430 阅读 · 0 评论 -
Swift-构造过程
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//存储型属性的初始赋值/* 类和结构体在实例创建时,必须为所有存储型属性设置合适的初始值。存储型属性的值不能处于一个未知的状态。 你可以在构造器中为存储型属性赋初值,也可以在定义属性时为其设原创 2016-05-20 10:18:08 · 238 阅读 · 0 评论 -
Swift-继承
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"class MyClass { }/* 注意: Swift 中的类并不是从一个通用的基类继承而来。如果你不为你定义的类指定一个超类的话,这个类就自动成为基类。 */class Veh原创 2016-05-20 10:17:16 · 182 阅读 · 0 评论 -
Swift-下标脚本
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//下标脚本语法/* 下标脚本允许你通过在实例后面的方括号中传入一个或者多个的索引值来对实例进行访问和赋值。语法类似于实例方法和计算型属性的混合。与定义实例方法类似,定义下标脚本使用subscrip原创 2016-05-20 10:16:33 · 271 阅读 · 0 评论 -
Swift - 属性观察者(willSet与didSet)
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"/* 属性观察者,类似于触发器。用来监视属性的除初始化之外的属性值变化,当属性值发生改变时可以对此作出响应。有如下特点: 1,不仅可以在属性值改变后触发didSet,也可以在属性值改变前触发will原创 2016-05-27 15:19:08 · 485 阅读 · 0 评论 -
Swift-基本运算符
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"/* 运算符有一元、二元和三元运算符。 一元运算符对单一操作对象操作(如-a)。一元运算符分前置运算符和后置运算符,前置运算符需紧跟在操作对象之前(如!b),后置运算符需紧跟在操作对象之后(原创 2016-05-20 10:07:32 · 288 阅读 · 0 评论 -
Swift-字符串和字符
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//字符串字面量let someString = "Some string literal value" ;//初始化空字符串 // 两个字符串均为空并等价。var emptyStrin原创 2016-05-20 10:09:31 · 234 阅读 · 0 评论 -
Swift-集合类型
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//空数组//通过构造函数的类型,someInts的值类型被推断为[Int]var someInts = [Int]() ;print("someInts is of type [Int] wit原创 2016-05-20 10:11:12 · 218 阅读 · 0 评论 -
Swift-函数
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//函数的定义与调用/* 下面例子中的函数叫做"sayHello(_:)",之所以叫这个名字,是因为这个函数用一个人的名字当做输入,并返回给这个人的问候语。为了完成这个任务,你定义一个输入参数-一原创 2016-05-20 10:11:59 · 204 阅读 · 0 评论 -
Swift-闭包
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"/* 在函数 章节中介绍的全局和嵌套函数实际上也是特殊的闭包,闭包采取如下三种形式之一: 全局函数是一个有名字但不会捕获任何值的闭包 嵌套函数是一个有名字并可以捕获其封闭函数域内值的闭包 闭包原创 2016-05-20 10:12:38 · 203 阅读 · 0 评论 -
Swift-枚举
//: Playground - noun: a place where people can playimport UIKitvar str = "枚举"//枚举语法//使用enum关键词来创建枚举并且把它们的整个定义放在一对大括号内:enum SomeEnumeration{ // enumeration definition goes here}//以下原创 2016-05-20 10:13:17 · 211 阅读 · 0 评论 -
Swift-类和结构体
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接口和实现文件。你所要做的是在一个单一文件中定义一个类或者结构体,系统将会自动生成面向其它代码的外部接口/* 注意:原创 2016-05-20 10:13:59 · 171 阅读 · 0 评论 -
Swift-属性
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//存储属性struct FixedLengthRange { var firstValue:Int let lenght:Int?}//常量结构体的存储属性var原创 2016-05-20 10:14:52 · 224 阅读 · 0 评论 -
Swift-方法
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"//存储属性struct FixedLengthRange { var firstValue:Int let lenght:Int?}//常量结构体的存储属性var原创 2016-05-20 10:15:37 · 337 阅读 · 0 评论 -
Swift-Realm简单使用,代替Sqlite、Crodata的强大数据库
1,什么是Realm Realm于2014 年7月发布,是一个跨平台的移动数据库引擎,专门为移动应用的数据持久化而生。其目的是要取代Core Data和SQLite。 2,关于Realm,你要知道下面几点: (1)使用简单,大部分常用的功能(比如插入、查询等)都可以用一行简单的代码轻松完成,学习成本低。 (2)Realm不是基于Core Data,也不是基于SQLite封装构原创 2016-06-06 16:29:16 · 1840 阅读 · 0 评论