Swift
阳君
路漫漫其修远兮,吾将上下而求索!
展开
-
Swift访问控制(Access Control)
当你在Swift编写一个类时,默认其中任何属性,方法都能被外部访问的。有的时候我们不希望属性或方法被外部访问,希望私有化。在swfit用于访问控制的有三个关键字。public:公共访问,允许在任何源文件中使用其定义模块。如你使用XCTest测试某个类时,就需要在类前添加public。internal:swift默认访问控制,允许在项目内访问。private:私人访问,只能在当前类中访问。如果是原创 2015-11-02 16:42:44 · 846 阅读 · 0 评论 -
Swift枚举(Enumerations)
枚举是一组相关的值的集合,并允许你在代码中使用。枚举允许所有的值是相同类型的,也可以是不同类型的,还可以为这些值设置默认值。原创 2015-10-28 16:53:54 · 586 阅读 · 0 评论 -
Swift继承(Inheritance)
玩过其他开发语言的小伙伴都知道继承,也就是子类继承父类的特性。这在开发过程中非常有用,可以节省大量工作量。 声明基类下面我们声明一个常见的基类Base,有两个属性(count、description)和一个方法(inherited),其中description是只读的。/// 基类class Base { var count = 0.0 var description: Str原创 2015-10-30 18:39:39 · 677 阅读 · 0 评论 -
Swift销毁(Deinitialization)
在Swift中,也支持ARC机制,也就是内存自动回收机制。在上一篇博文我们将了《Swift初始化(Initialization)》,既然有了初始化的方法,Swift也提供了销毁的通知方法。 deinit只能在引用类型中使用,也就是只能在类中使用。deinit { // perform the deinitialization}下面就用一个例子给大家介绍销毁是怎么工作的。class S原创 2015-10-31 18:45:23 · 2793 阅读 · 0 评论 -
Swift可选链(Optional Chaining)
了解过设计模式的人都知道责任链模式(如果你不知道什么是责任链模式,可以阅读我的博文《23设计模式之责任链模式 (COR)》),在OC的手势响应链也是基于这种模式开发的。责任链模式的核心可以理解为if {} else if {} else {}如果每一次都这样写,代码就特别多,也不美观。Swift考虑到这种情况设计了可选链,可选链的核心是两个操作符号:?:当’?’前有值时,执行’?’后面代码,为ni原创 2015-11-01 11:15:00 · 736 阅读 · 0 评论 -
Swift控制流
Swift提供了所有大家熟悉的控制流语法,其中包含多重循环的while和for循环;根据一定条件执行不同分支的if、guard和switch语法;以及控制流程转移的break和continue。原创 2015-10-26 19:36:07 · 698 阅读 · 0 评论 -
String Programming Guide
String是一系列char数据的集合,如”hello, world”或”albatross”。它是苹果公司针对Swift语言编写的管理字符串的对象。String以优雅的方式结合了NSString和NSMutableString的优点,并简化了接口的使用。本文介绍了关于String日常开发过程中的一系列方法,供大家查阅。原创 2015-10-23 16:04:09 · 759 阅读 · 0 评论 -
Array Programming Guide
Array是Swift针对有序集合的操作类。你可以随机访问Array任何位置上的元素,在Array中你还可以存储相同的元素在不同的位置。本文介绍了在编辑过程中关于Array的常用操作,其结构如下所示。初始化// MARK: 初始化private func testCreating() { // 空数组 var array = [Int]() array = [] a原创 2015-10-24 17:29:03 · 578 阅读 · 0 评论 -
Swift错误处理(Error Handling)
错误处理是在程序中响应错误和处理错误恢复程序正常运行的过程。Swift提供了抛出、捕获、传播和操作可恢复的过程。有的操作不是每次都能执行成功的,而可选链是用来判断有没有值,但操作失败时,无法知道失败的原因。错误处理就是帮助你了解失败的原因,方便你做出相应的反应。比如我们在网络传输时,会遇到各种各样的突发情况导致数据传输失败。这时,通过错误处理机制,就能有效的提示用户当前是因为那种错误导致网络出错。原创 2015-11-01 16:16:47 · 1004 阅读 · 0 评论 -
Set Programming Guide
在Swift中,Set是管理无序集合的对象。当你不关心集合中元素的顺序,只关心每个元素在整个集合中是唯一的时候,你可以使用Set。Set的内部结构图如下所示:初始化// MARK: 初始化private func testInit() { // 空Set var set = Set<String>() set = [] // 通过参数创建 set = Set原创 2015-10-26 13:33:39 · 526 阅读 · 0 评论 -
Swift闭包(Closures)
闭包是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。 在Swift中的闭包与C、OC中的blocks和其它编程语言(如Python)中的lambdas类似。 闭包可以捕获和存储上下文中定义的的任何常量和变量的引用。这就是所谓的变量和变量的自封闭, 因此命名为”闭包“(“Closures)”)。Swift还会处理所有捕获的引用的内存管理。 全局函数和嵌套函数其实就是特殊的闭包。原创 2015-10-27 21:56:29 · 1372 阅读 · 0 评论 -
Swift函数
函数是一组特定的代码块,执行特定的任务。当你需要执行一个函数体时,你只需要调用函数的标示名。在Swift中,函数是足够强大和灵活的。你可以传递参数,并且在函数执行完毕时也可以返回数据。参数可以提供默认值,以简化函数的调用。每一个函数都是一个类型,这意味着可以你可以将函数作为参数传递到其他函数内,并返回一个函数。也可以将其他函数封装到一个函数内形成嵌套函数。原创 2015-10-27 15:41:12 · 553 阅读 · 0 评论 -
Swift方法(Methods)
方法是与特定类型关联的函数。在类、结构体和枚举中都可以定义方法。方法可以是实例方法,也可以是类型方法。 实例方法实例方法是属于某一特定类、结构体或枚举的函数。它们提供访问和修改实例属性的方法,或者提供与实例相关的功能。实例方法和函数的功能相同,具有完全相同的语法。在实例方法的大括号内,可以访问局部变量和全局变量。实例方法同样也可以调用其他实例方法。局部变量和全局变量class Counter {原创 2015-10-30 13:44:23 · 735 阅读 · 0 评论 -
Swift类型选择(Type Casting)
在Swift开发过程中,我们会遇到以下情况:判断某个实例是那个类生成的;将子类转换为父类;想让一个变量可以为任何类型(值对象、引用对象、方法)。。。Swift也能处理这些情况,需要使用的关键字:类型判断is、类型转换as、属性声明AnyObject和Any。在介绍这四个关键字的使用前,先构建类MediaItem、Movie和Song。class MediaItem {}class Movie: Me原创 2015-11-01 17:26:38 · 891 阅读 · 0 评论 -
Swift初始化(Initialization)
实例的初始化是准备一个类、结构体或枚举的实例以便使用的过程。初始化包括设置一个实例存储属性的初始值,以及其他相关设置。一个类、结构体或枚举能定义一个初始化方法来设置它的特性,用来确保它的所有属性都是有效的初始值。通过调用类、结构或枚举提供的初始化方法可以执行实例的初始化过程。 构造初始化类、结构体和枚举的初始化方法所使用到的关键字是init。 初始化初始化结构体下面我们定义一个结构体Size,原创 2015-10-31 18:28:54 · 1915 阅读 · 0 评论 -
UI基础控件 Swift
UI基础控件Swift版包含UILable、UIButton、UISegmentedControl、UITextField、UISlider、UISwitch、UIActivityIndicatorView、UIProgressView、UIPageCo原创 2015-09-23 16:44:48 · 858 阅读 · 0 评论 -
Swift协议(Protocols)
协议主要为一个特定的任务和功能定义一个方法、属性和其他要求,你也可以理解协议就是一种要遵循的规范。学过设计模式的,都知道工厂模式,如果你不知道可以查阅我的博文《23设计模式之工厂方法(FactoryMethod)》,工厂模式就是一种协议的体现。在Java中,是用接口定义协议的;在OC中,主要用于代理。除了已有的协议,你还可以像扩展类一样扩展协议。这些扩展的协议可以实现也可以直接使用。语法协议语法使用原创 2015-11-02 15:27:30 · 1117 阅读 · 0 评论 -
Swift下标(Subscripts)
在Swift中,类、结构体和枚举都是支持下标语法的。什么是下标语法?使用过数组、字典的朋友都见过array[index]。通过这样的方式可以设置数据和取数,会很方便也很简洁。你可以给一个类定义多个下标,也可以在一个下标中定义一个或多个参数。下标的关键字是subscript,常用格式如下:subscript(index: Int) -> Int { get { // retur原创 2015-10-30 15:23:18 · 937 阅读 · 0 评论 -
Dictionary Programming Guide
在Swift中,Dictationary是管理键值对的对象。在Dictionary中,key是唯一的,value可以是相同的元素,并且Dictionary中的数据是无序的。原创 2015-10-26 15:47:24 · 508 阅读 · 0 评论 -
Swift控制转移语句
在Swift语言中,控制转移语句可以改变代码的执行顺序,通过它可以实现代码的跳转。原创 2015-09-24 09:15:36 · 562 阅读 · 0 评论 -
Swift高级运算符(Advanced Operators)
符号包含~、$、|、^、<<、>>和算子函数原创 2015-11-03 11:09:05 · 732 阅读 · 0 评论 -
Swift属性(Properties)
属性关联特定的类、结构和枚举的值。存储的属性存储常量和变量的值作为实例的一部分。原创 2015-10-29 15:23:04 · 1115 阅读 · 0 评论 -
Swift类和结构体(Classes and Structures)
在Swift中,类和结构体是通用且灵活的架构,枚举是一组相关的值的集合,并允许你在代码中使用它们。你可以在类和结构体中添加属性和方法,如常量、变量和函数。相对于其他编程语言,当你想创建类和结构体时,需要创建接口文件和实现文件。Swift不需要你创建接口文件和实现文件,如玩过OC的朋友都知道.h和.m文件。在Swift中,当你想创建类和结构体时,只需要创建一个文件。这个类和结构的外部接口可自动给其他代原创 2015-10-29 11:03:35 · 617 阅读 · 0 评论