随笔分类 - swift
摘要:@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
阅读全文
摘要:前言 阿里云APP组件化过程中,我们拆分出了若干基础组件库和业务代码库,由于代码是采用Swift编写的,所以这些库都是动态库形式。在上一个正式版本,组件化达到了完全形态,主工程只剩下一个壳,所有代码都以pod组件的形式引入,最后交付的是一个主工程的壳二进制程序,和十几个动态库Framework。这些
阅读全文
摘要:MemoryLayout 基本使用方法 HandyJSON 是 Swift 处理 JSON 数据的开源库之一,类似 JOSNModel,它可以直接将 JSON 数据转化为类实例在代码中使用。 由于 Swift 是一种静态语言,没有 OC 那种灵活的 Runtime 机制,为了达到类似 JSONMod
阅读全文
摘要:Both class and structure can do: Define properties to store values Define methods to provide functionality Be extended Conform to protocols Define int
阅读全文
摘要:namedClass:静态类型;与类型实现直接关联;可以用于初始化、类型检查等。 namedClass.self:@thick,脱敏(脱关)类型;动态类型;可以作为元类型的实例;可以作为类型参量进行传递; 可以用于继承体系; 使用脱敏类型进行初始化时,需要与具体类型进行绑定。 func forCla
阅读全文
摘要:在Swift中能够表示 “任意” 这个概念的除了 Any 和 AnyObject 以外,还有一个AnyClass。我们能够使用AnyClass协议作为任意类型实例的具体类型。AnyClass在Swift中被所定义: [javascript] view plain copy typealias Any
阅读全文

浙公网安备 33010602011771号