Tag: Swift
All the articles with the tag "Swift".
-
Swift 4.2 中有什么新功能?【译】
Published date:好消息:Swift 4.2 现已在 Xcode 10 beta 中提供!此版本更新重要的 Swift 4.1 功能,并改进语言以准备 ABI 稳定性。
-
Swift Runtime
Published date:我们都知道 Objective-C 是一门动态的语言,有的时候我们会使用 处理一些在 Objective-C 上面无法实现或者很难实现的功能。例如:在扩展中添加属性;动态的获取属性的名称,方法名等。那么究竟什么是 ?
-
Swift 进阶【九】协议
Published date:Swift 的协议和 Objective-C 的协议不同。Swift 协议可以被用作代理,也可以让你对接口进行抽象 (比如 和 )。它们和 Objective-C 协议的最大不同在于我们可以让结构体和枚举类型满足协议。除此之外,Swift 协议还可以有关联类型。我们还可以通过协议扩展的方式为协议添加方法实现。我们会在面向协议编程的部分讨论所有这些内容。
-
Swift 进阶【八】泛型
Published date:和大多数先进语言一样,Swift 拥有不少能被归类于泛型编程下的特性。使用泛型代码,你可以写出可重用的函数和数据结构,只要它们满足你所定义的约束,它们就能够适用于各种类型。比如,像是 和 等多个类型,实际上是它们中的元素类型就是泛型抽象。我们也可以创建泛型方法,它们可以对输入或者输出的类型进行泛型处理。 就定义了一个可以作用于任意类型 A 的函数。某种意义上
-
Swift 操作符
Published date:Swift 支持重载操作符的特性,让我们可以自定义一些简单的计算。 最经典的例子就是两个二维向量之间的计算了。 首先我们定义一个二维向量,并创建两个向量
-
Swift 进阶【七】字符串
Published date:- - - - 大部分编程语言使用整数值对字符串进行下标操作,比如 将会返回 中的第六个“字符” (这里的“字符”的概念由所操作的编程语言进行定义)。Swift 不允许这么做。为什么?答案可能现在你已经很耳熟了:因为整数的下标访问无法在常数时间内完成 (对于 协议来说这也是个直观要求),而且查找第 n 个 的操作也必须要对它之前的所有字节进行检查。
-
Swift ABI Stability Manifesto
Published date:* Authors: Michael Ilseman (compiled through conversations with many others)
-
Swift 进阶【六】编码和解码
Published date:将程序内部的数据结构序列化为一些可交换的数据格式,以及反过来将通用的数据格式反序列化为内部使用的数据结构,这在编程中是一项非常常见的任务。Swift 将这些操作称为编码(encoding)和解码(decoing)。Swift 4 的一个主要特性就是定义了一套标准的编码和解码数据的方法,所有的自定义类型都能选择使用这套方法。
-
优化 Swift 中 Notification.Name 的使用方式
Published date:在 中使用通知,在写通知名称的时候,并不能像 那样简单方便,一个字符串搞定。刚开始使用 通知时,感觉各种不爽,需要这样写:
-
Escaping Closures - Swift
Published date:- - - - 逃逸闭包(escaping closure),什么是逃逸闭包?苹果官方给的定义是:当一个闭包作为一个参数传递给函数,但是它是在函数返回之后调用的,这时候,这个闭包就称为逃逸闭包。当你声明一个将闭包作为参数的函数时,你可以在参数的类型之前用 来表明这个闭包是允许逃逸的。
-
layoutIfNeeded() 函数对 UIScrollView 的影响
Published date:在做 iOS 相关的约束动画时,我们一定会用到 函数,但是在大多数情况下使用并没有什么问题。当与 相关的控件结合使用的时候要注意了。
-
Swift 进阶【五】函数
Published date:- - - - 要理解 Swift 中的函数和闭包,需要先明白三件事情,按重要程度进行大致排序如下: 要将函数赋值给一个变量,比如 funVar,我们只需要将函数名字作为值就可以了。注意在函数名后没有括号: