随笔分类 - swift
摘要:precedencegroup ChainingPrecedence { associativity: left higherThan: TernaryPrecedence } infix operator >>- : ChainingPrecedence 重点在这: postfix operato
阅读全文
摘要:只实现 getter 方法的属性被称为计算型属性,等同于 OC 中的 ReadOnly 属性 计算型属性本身不占用内存空间 不可以给计算型属性设置数值 计算型属性可以使用以下代码简写 计算型属性与懒加载的对比 计算型属性 不分配独立的存储空间保存计算结果 每次调用时都会被执行 更像一个函数,不过不能
阅读全文
摘要:struct Stack<Element> { var items = [Element]() func push(_ item:Element){ self.items.append(item) } mutating func pop() -> Element{ return self.items
阅读全文
摘要:In addition to stored properties, classes, structures, and enumerations can define computed properties, which do not actually store a value. Instead,
阅读全文
摘要:与数据结合:对数据进行操作; 与行为结合:使用原有行为生成更便捷的行为; 与协议结合:实现协议; 与类型结合:对类型数据进行操作,添加新的行为; 与关联类型、泛型结合:对类型做出限定。
阅读全文
摘要:@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
阅读全文
摘要:Extensions can add new functionality to a type, but they cannot override existing functionality.
阅读全文
摘要:protocol CommonTrait: class { func commonBehavior() -> String } extension CommonTrait { func commonBehavior() -> String { return "from protocol extens
阅读全文
摘要:NSArray与Array之间的关系如同NSString与String之间的关系,NSArray是类类型,而Array是结构体类型,一个是引用类型,一个是值类型,它们是怎样实现无缝转换的呢?Swift在底层能够将它们自动地桥接起来,一个NSArray对象桥接之后的结果是[AnyObject]数组(保
阅读全文
摘要: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
阅读全文
摘要:2016-06-06 7388 作者:Olivier Halligon,原文链接,原文日期:2016-05-16 译者:walkingway;校对:Cee;定稿:numbbbbb 现在我们来重新回顾下前三弹模式匹配的各种语法 第一弹,第二弹,第三弹,第四弹是本系列的最后一篇文章,本章会教大家使用 i
阅读全文
摘要:重载:会生成不同的符号,不会导致符号冲突; 重写:符号相同,只支持继承体系中使用,不支持同级使用。 重写需要命名空间来做出区分。
阅读全文
摘要:protocol GameMode:class “You can limit protocol adoption to class types (and not structures or enumerations) by adding the class keyword must always a
阅读全文
摘要: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
阅读全文
摘要:一、协议定义与实现: 1、关联类型; 2、协议组合; 3、协议扩展; 4、协议实现。 二、协议使用:
阅读全文
摘要:1、swift对象内存模型; 2、指针操作; 3、协议、泛型、扩展; 4、kvc; 1是所有实现的基础,没有内存对象(类)模型,后面的一切都我从谈起。 在1的基础上使用2进行对象模型信息的提取和转换。 目前我手上没有完备的swift内存对象模型资料。
阅读全文
摘要:var fieldNames: [String] { let p = UnsafePointer<Int32>(self.pointer) return Array(utf8Strings: relativePointer(base: p.advanced(by: 3), offset: self.
阅读全文
摘要:在 Swift 的世界中,如果我们将协议称之为国王,那么泛型则可以视作皇后,所谓一山不容二虎,当我们把这两者结合起来使用的时候,似乎会遇到极大的困难。那么是否有一种方法,能够将这两个概念结合在一起,以便让它们成为我们前进道路上的垫脚石,而不是碍手碍脚的呢?答案是有的,这里我们将会使用到类型擦除 (T
阅读全文
摘要: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
阅读全文