用file>new>file添加一个新的swift文件...>iOS>源>Swift文件。你想怎么叫就怎么叫。
一般的命名约定是将其称为TypeName+NewFunctionality.swift。
Double+conversions.swift
import Swift // or Foundation
extension Double {
func celsiusToFahrenheit() -> Double {
return self * 9 / 5 + 32
}
func fahrenheitToCelsius() -> Double {
return (self - 32) * 5 / 9
}
}
let boilingPointCelsius = 100.0
let boilingPointFarenheit = boilingPointCelsius.celsiusToFahrenheit()
print(boilingPointFarenheit) // 212.0
import Swift // or Foundation
extension String {
func replace(target: String, withString: String) -> String {
return self.replacingOccurrences(of: target, with: withString)
}
}
let newString = "the old bike".replace(target: "old", withString: "new")
print(newString) // "the new bike"
import UIKit
extension UIColor {
class var customGreen: UIColor {
let darkGreen = 0x008110
return UIColor.rgb(fromHex: darkGreen)
}
class func rgb(fromHex: Int) -> UIColor {
let red = CGFloat((fromHex & 0xFF0000) >> 16) / 0xFF
let green = CGFloat((fromHex & 0x00FF00) >> 8) / 0xFF
let blue = CGFloat(fromHex & 0x0000FF) / 0xFF
let alpha = CGFloat(1.0)
return UIColor(red: red, green: green, blue: blue, alpha: alpha)
}
}
请参阅此处。
用法:
view.backgroundColor = UIColor.customGreen
uicolor.greenColor
时,我看到声明是class func greenColor()->uicolor
。这为如何设置自定义方法提供了很好的线索。使用扩展可添加现有类,结构或枚举类型的功能。 使用扩展添加类型功能,但扩展无法覆盖功能。 Swift扩展功能 - 添加计算属性和计算类型属性 定义实例和类型方法。 提供新的初始化程序。 定义下标 定义和使用新的嵌套类型 使现有类型符合协议 使用关键字声明扩展名,语法如下 - 类型也可以添加扩展,使其成为协议标准,它的语法类似于类或结构。 计算属性 使用扩展,也可以扩展计算的“实例”和“类型”属性。
扩展就是向一个已有的类、结构体或枚举类型添加新功能。 扩展可以对一个类型添加新的功能,但是不能重写已有的功能。 Swift 中的扩展可以: 添加计算型属性和计算型静态属性 定义实例方法和类型方法 提供新的构造器 定义下标 定义和使用新的嵌套类型 使一个已有类型符合某个协议 语法 扩展声明使用关键字 extension: extension SomeType { // 加到SomeType
使用 Swift 扩展 Weex Swift和Objective-C 混编 参考完整 例子 使用 Swift 进行 module 扩展 因为 module 暴露 method 是通过Objective-C宏来做的,调用的时候是通过反射,所以Swift扩展 module 通过extensionObjective-C的类。 新建 WXSwiftTestModule.h/m 和 WXSwiftTestM
问题内容: Swift 1.2支持无序集合,但似乎在Sets上不起作用,因此我决定在操场上变聪明并尝试: 这似乎有效。所以我尝试扩展Set: 而且我认为有一个很好的理由为什么它不起作用,例如这里的示例: 关于如何扩展Set以可靠地使用map(_ :)的任何想法?谢谢大家 问题答案: 更新: Swift 2和3进行了很多更改。的通用占位符现在是,而不是,并且所有集合都有一个返回 数组 的方法 。 对
问题内容: 我对编码非常陌生,我只知道Swift。我发现了一些教程可以在表格中生成下拉部分。基本上它将代表电视节目,标题将是季节以及每个季节的情节下拉列表。 我设法从https://github.com/fawazbabu/Accordion_Menu完美地实现了我想要的功能 这一切看起来都不错,但是我需要能够从下拉菜单中进行选择。我添加的只是行的简单打印。当我选择行,节或单元格时,将返回随机索引
问题内容: 我正在尝试使用Swift协议扩展,却发现这种行为令人困惑。您能帮我得到我想要的结果吗? 请参阅代码最后4行的注释。(如果需要,可以将其复制粘贴到Xcode7游乐场)。谢谢!! 问题答案: 简短的答案是协议扩展不执行类多态性。这是有一定道理的,因为协议可以被结构或枚举采用,并且因为我们不希望仅在没有必要的地方采用协议来引入动态调度。 因此,在中,实例变量(可能更准确地写为)并不意味着您认