Swift扩展示例

Swift扩展示例,第1张

概述我最初想知道如何做这样的事情 UIColor.myCustomGreen 所以我可以定义我自己的颜色,并在我的应用程序中使用它们。 我之前已经研究了扩展名,我以为我可以用它来解决我的问题,但是我不记得如何设置扩展。在撰写本文时,Google搜索“Swift扩展”导致documentation,several长时间tutorials,并且相当无用的Stack Overflow question。 所 我最初想知道如何做这样的事情
UIcolor.myCustomGreen

所以我可以定义我自己的颜色,并在我的应用程序中使用它们。

我之前已经研究了扩展名,我以为我可以用它来解决我的问题,但是我不记得如何设置扩展。在撰写本文时,Google搜索“Swift扩展”导致documentation,several长时间tutorials,并且相当无用的Stack Overflow question。

所以答案是在那里,但它需要一些挖掘通过文档和教程。我决定写这个问题和下面的答案,为Stack Overflow增加一些更好的搜索关键字,并提供一个快速回顾如何设置扩展。

具体我想知道:

>扩展位置在哪里(文件和命名约定)?
>什么是扩展语法?
>几个简单的常用例子是什么?

创建扩展名

添加一个新的swift文件,文件>新>文件…> iOS>来源> Swift文件,但你可以称呼他们想要什么。

一般的命名约定是将它称为Typename NewFunctionality.swift。

示例1 – Double

双重转换

import Swift // or Foundationextension Double {    func celsiusToFahrenheit() -> Double {        return self * 9 / 5 + 32    }    func fahrenheitToCelsius() -> Double {        return (self - 32) * 5 / 9    }}

用法:

let boilingPointCelsius = 100.0let boilingPointfarenheit = boilingPointCelsius.celsiusToFahrenheit()print(boilingPointfarenheit) // 212.0

示例2 – String

字符串Shortcuts.swift

import Swift // or Foundationextension 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"

Here是一些更常见的字符串扩展。

示例3 – UIColor

UIcolor Customcolor.swift

import UIKitextension 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)    }}

另见here。

用法:

vIEw.backgroundcolor = UIcolor.customGreen

笔记

>一旦定义了扩展名,就可以像应用程序中的内置函数一样在应用程序的任何位置使用它。
>如果您不确定函数或属性语法的外观,您可以选择一个类似的内置方法。例如,当我的选项点击UIcolor.greencolor我看到声明是类func greencolor() – > UIcolor。这给了我一个很好的线索,如何设置我的自定义方法。
> Apple Documentation for Extensions> Objective-C扩展名称为类别。

总结

以上是内存溢出为你收集整理的Swift扩展示例全部内容,希望文章能够帮你解决Swift扩展示例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存