上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 103 下一页
摘要: Shorthand Argument Names Swift automatically provides shorthand argument names to inline closures, which can be used to refer to the values of the clo 阅读全文
posted @ 2018-10-10 11:44 zzfx 阅读(240) 评论(0) 推荐(0)
摘要: 协变、逆变是在有继承关系的对象间有合法赋值关系时, 相应的构造对象间对应的赋值关系是否成立。 我们可以理解成是由Object构造出来的一种新的类型,可以认为是一种构造类型,记f(Object)(可以类比下初中数学中函数的定义),那么我们可以这么来描述协变和逆变: 当A ≦ B时,如果有f(A) ≦ 阅读全文
posted @ 2018-10-09 17:41 zzfx 阅读(235) 评论(0) 推荐(0)
摘要: 类型参数化 在scala中,类型参数化(类似于泛型)使用方括号实现,如:Foo[A],同时,我们称Foo为高阶类型。如果一个高阶类型有2个类型参数,则在声明变量类型时可以使用中缀形式来表达,此时也称该高阶类型为中缀类型,示例如下: class Foo[A,B] val x:Int Foo Strin 阅读全文
posted @ 2018-10-09 15:36 zzfx 阅读(390) 评论(0) 推荐(0)
摘要: Java泛型中的协变和逆变 一般我们看Java泛型好像是不支持协变或逆变的,比如前面提到的List<Object>和List<String>之间是不可变的。但当我们在Java泛型中引入通配符这个概念的时候,Java 其实是支持协变和逆变的。 看下面几行代码: 可见在Java泛型中通过extends关 阅读全文
posted @ 2018-10-09 14:39 zzfx 阅读(206) 评论(0) 推荐(0)
摘要: 泛型的定义:泛型是JDK 1.5的一项新特性,它的本质是参数化类型 ParameterizedType,即带有类型参数的类型。 类型参数。 https://www.cnblogs.com/baiqiantao/p/7475696.html 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言 阅读全文
posted @ 2018-10-08 22:23 zzfx 阅读(262) 评论(0) 推荐(0)
摘要: Here’s a generic version of the same code: struct Stack<Element> { var items = [Element]() mutating func push(_ item: Element) { items.append(item) } 阅读全文
posted @ 2018-10-08 22:07 zzfx 阅读(371) 评论(0) 推荐(0)
摘要: Relational Algebra Relational Algebra is the mathematical basis for the query language SQL Introduction. So now you have learn how to design good conc 阅读全文
posted @ 2018-10-08 21:40 zzfx 阅读(1240) 评论(0) 推荐(0)
摘要: 1、类型系统; 2、函数指令系统; 3、运行时系统; 4、api系统; 运行时系统包含: 1)类型运行时系统; 2)函数的动态派发系统; 3)内存管理、多线程(cpu、内存基本使用)、异常处理等; 指令系统依赖与类型系统,类型系统为函数指令系统提供上线文(编译时和运行时)。 类型系统:主要包含内存布 阅读全文
posted @ 2018-09-27 15:00 zzfx 阅读(784) 评论(0) 推荐(0)
摘要: Overview You can work with types declared in Swift from within the Objective-C code in your project by importing an Xcode-generated header file. This 阅读全文
posted @ 2018-09-27 11:51 zzfx 阅读(336) 评论(0) 推荐(0)
摘要: Objective-C没有命名空间,为了避免冲突,Objective-C的类型一般都会加上两到三个字母的前缀,比如Apple保留的NS和UI前缀,各个系统框架的前缀,各个系统框架的前缀SK(StoreKit),CG(CoreGraphic)等。 Swift的命名空间是基于module而不是在代码中显 阅读全文
posted @ 2018-09-26 20:01 zzfx 阅读(510) 评论(0) 推荐(0)
摘要: 类型系统是编程语言的基石 Type systems are generally formulated as collections of rules for checking the “con- sistency” of programs. This kind of checking exposes 阅读全文
posted @ 2018-09-26 17:39 zzfx 阅读(229) 评论(0) 推荐(0)
摘要: 泛型类型是高阶类型的必经之路。 阅读全文
posted @ 2018-09-26 17:07 zzfx 阅读(191) 评论(0) 推荐(0)
摘要: 具体类型:能够初始化; 抽象类型:不能直接初始化; 类型参量:泛型和高阶类型的通道; 类型约束:泛型到高阶类型的通道。 基础类型; 结构类型; 容器类型; 高阶类型; 泛型、抽象类型: 类型是否能够直接初始化。 低阶类型与高阶类型的转化。 阅读全文
posted @ 2018-09-26 16:49 zzfx 阅读(187) 评论(0) 推荐(0)
摘要: 类型转化:任意类型、继承体系类型、基础类型的平级转化; 类型变化:值类型与容器类型的迭代变换。适配器模式、代理模式等。 阅读全文
posted @ 2018-09-26 16:46 zzfx 阅读(265) 评论(0) 推荐(0)
摘要: Swift 的 extension 机制很强大,不仅可以针对自定义的类型,还能作用于系统库的类型,甚至基础类型比如 Int。当在对系统库做 extension 的时候,就会涉及到一个命名冲突的问题。Objective-C 时代的通行解决办法是在扩展方法名字的最前面加上 XXX_ 形式的前缀。这种形式 阅读全文
posted @ 2018-09-25 17:42 zzfx 阅读(764) 评论(0) 推荐(0)
摘要: 最近在看一些Swift开源库的时候,发现了一些优秀的开源库都使用了命名空间,例如Kingfisher这个开源库中,就针对UIImage,UIImageView,UIButton做了命名空间的扩展。通过logoImageView.kf.setImage(url)这种方式能够很好地避免扩展的命名冲突,而 阅读全文
posted @ 2018-09-25 17:40 zzfx 阅读(196) 评论(0) 推荐(0)
摘要: Functor,即函子,是 Haskell 中普遍存在的、最基本的类型类。你可以用以下两种方式来理解 Functor: 它代表某种容器,该容器能够将某一函数应用到其每一个元素上。 它代表某种“可计算上下文”(computational context)。 https://www.cnblogs.co 阅读全文
posted @ 2018-09-25 17:35 zzfx 阅读(217) 评论(0) 推荐(0)
摘要: class GooClass { deinit { print("aaaaaaaa") } var str = "gooClass" } struct GooStruct { var goo = GooClass() } extension ViewController{ var gooStruct 阅读全文
posted @ 2018-09-25 15:06 zzfx 阅读(201) 评论(0) 推荐(0)
摘要: Locations for Public Frameworks Third-party frameworks can go in a number of different file-system locations, depending on certain factors. Most publi 阅读全文
posted @ 2018-09-21 19:11 zzfx 阅读(111) 评论(0) 推荐(0)
摘要: 能自证的任意类型即为动态类型; 扩展:能自证的继承体系类型即为动态类型(小); 阅读全文
posted @ 2018-09-21 14:31 zzfx 阅读(126) 评论(0) 推荐(0)
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 103 下一页