随笔分类 -  swift

摘要:precedencegroup ChainingPrecedence { associativity: left higherThan: TernaryPrecedence } infix operator >>- : ChainingPrecedence 重点在这: postfix operato 阅读全文
posted @ 2018-09-17 11:08 zzfx 阅读(151) 评论(0) 推荐(0) 编辑
摘要:只实现 getter 方法的属性被称为计算型属性,等同于 OC 中的 ReadOnly 属性 计算型属性本身不占用内存空间 不可以给计算型属性设置数值 计算型属性可以使用以下代码简写 计算型属性与懒加载的对比 计算型属性 不分配独立的存储空间保存计算结果 每次调用时都会被执行 更像一个函数,不过不能 阅读全文
posted @ 2018-09-14 19:52 zzfx 阅读(216) 评论(0) 推荐(0) 编辑
摘要:struct Stack<Element> { var items = [Element]() func push(_ item:Element){ self.items.append(item) } mutating func pop() -> Element{ return self.items 阅读全文
posted @ 2018-09-14 19:46 zzfx 阅读(420) 评论(0) 推荐(0) 编辑
摘要:In addition to stored properties, classes, structures, and enumerations can define computed properties, which do not actually store a value. Instead, 阅读全文
posted @ 2018-09-13 19:30 zzfx 阅读(156) 评论(0) 推荐(0) 编辑
摘要:与数据结合:对数据进行操作; 与行为结合:使用原有行为生成更便捷的行为; 与协议结合:实现协议; 与类型结合:对类型数据进行操作,添加新的行为; 与关联类型、泛型结合:对类型做出限定。 阅读全文
posted @ 2018-09-13 19:21 zzfx 阅读(266) 评论(0) 推荐(0) 编辑
摘要:类; 协议; 泛型及元素类型;扩展约束; 阅读全文
posted @ 2018-09-12 19:52 zzfx 阅读(113) 评论(0) 推荐(0) 编辑
摘要:@objc and dynamic Objective-C runtime visibility and the depths of dynamic dispatch in the modern Swift era. 5 December 2017 ∙ Objective-C Interop ∙ w 阅读全文
posted @ 2018-08-11 17:09 zzfx 阅读(318) 评论(0) 推荐(0) 编辑
摘要:Extensions can add new functionality to a type, but they cannot override existing functionality. 阅读全文
posted @ 2018-08-11 16:07 zzfx 阅读(122) 评论(0) 推荐(0) 编辑
摘要:protocol CommonTrait: class { func commonBehavior() -> String } extension CommonTrait { func commonBehavior() -> String { return "from protocol extens 阅读全文
posted @ 2018-08-11 15:42 zzfx 阅读(160) 评论(0) 推荐(0) 编辑
摘要:NSArray与Array之间的关系如同NSString与String之间的关系,NSArray是类类型,而Array是结构体类型,一个是引用类型,一个是值类型,它们是怎样实现无缝转换的呢?Swift在底层能够将它们自动地桥接起来,一个NSArray对象桥接之后的结果是[AnyObject]数组(保 阅读全文
posted @ 2018-08-06 20:35 zzfx 阅读(305) 评论(0) 推荐(0) 编辑
摘要:Any class that does not inherit from another class is known as a base class. Swift classes do not inherit from a universal base class. Classes you def 阅读全文
posted @ 2018-08-03 19:59 zzfx 阅读(173) 评论(0) 推荐(0) 编辑
摘要:2016-06-06 7388 作者:Olivier Halligon,原文链接,原文日期:2016-05-16 译者:walkingway;校对:Cee;定稿:numbbbbb 现在我们来重新回顾下前三弹模式匹配的各种语法 第一弹,第二弹,第三弹,第四弹是本系列的最后一篇文章,本章会教大家使用 i 阅读全文
posted @ 2018-08-02 11:57 zzfx 阅读(368) 评论(0) 推荐(0) 编辑
摘要:重载:会生成不同的符号,不会导致符号冲突; 重写:符号相同,只支持继承体系中使用,不支持同级使用。 重写需要命名空间来做出区分。 阅读全文
posted @ 2018-07-18 10:43 zzfx 阅读(171) 评论(0) 推荐(0) 编辑
摘要:protocol GameMode:class “You can limit protocol adoption to class types (and not structures or enumerations) by adding the class keyword must always a 阅读全文
posted @ 2018-07-17 14:53 zzfx 阅读(292) 评论(0) 推荐(0) 编辑
摘要:1、block需要(拷贝)保存; 2、block引用的环境变量需要处理。 相当于oc中的copy block。 Escaping Closures A closure is said to escape a function when the closure is passed as an argu 阅读全文
posted @ 2018-06-22 18:52 zzfx 阅读(190) 评论(0) 推荐(0) 编辑
摘要:一、协议定义与实现: 1、关联类型; 2、协议组合; 3、协议扩展; 4、协议实现。 二、协议使用: 阅读全文
posted @ 2018-06-20 11:49 zzfx 阅读(111) 评论(0) 推荐(0) 编辑
摘要:1、swift对象内存模型; 2、指针操作; 3、协议、泛型、扩展; 4、kvc; 1是所有实现的基础,没有内存对象(类)模型,后面的一切都我从谈起。 在1的基础上使用2进行对象模型信息的提取和转换。 目前我手上没有完备的swift内存对象模型资料。 阅读全文
posted @ 2018-06-20 11:33 zzfx 阅读(96) 评论(0) 推荐(0) 编辑
摘要:var fieldNames: [String] { let p = UnsafePointer<Int32>(self.pointer) return Array(utf8Strings: relativePointer(base: p.advanced(by: 3), offset: self. 阅读全文
posted @ 2018-06-19 19:34 zzfx 阅读(236) 评论(0) 推荐(0) 编辑
摘要:在 Swift 的世界中,如果我们将协议称之为国王,那么泛型则可以视作皇后,所谓一山不容二虎,当我们把这两者结合起来使用的时候,似乎会遇到极大的困难。那么是否有一种方法,能够将这两个概念结合在一起,以便让它们成为我们前进道路上的垫脚石,而不是碍手碍脚的呢?答案是有的,这里我们将会使用到类型擦除 (T 阅读全文
posted @ 2018-06-19 19:29 zzfx 阅读(457) 评论(0) 推荐(0) 编辑
摘要:Swift Method Dispatching When announcing Swift, Apple described it as being much faster than Objective-C. On the web, there is a number of comparsions 阅读全文
posted @ 2018-06-15 15:18 zzfx 阅读(198) 评论(0) 推荐(0) 编辑