swift-extensions相关内容

URL编码Swift iOS

我使用以下代码对我的字符串url进行编码 let originalString = "test/test" let escapedString = originalString.addingPercentEncoding(withAllowedCharacters: . urlQueryAllowed) print(escapedString!) 我正在寻找SWIFT扩展来编码url,这 ..
发布时间:2022-05-19 11:04:23 移动开发

覆盖SWIFT扩展中的方法

我倾向于只将必需品(存储的属性、初始值设定项)放入我的类定义中,而将其他所有内容移到它们自己的extension中,这有点像我也要与// MARK:分组的每个逻辑挡路的extension。 例如,对于UIView子类,我最终会得到一个用于布局相关内容的扩展,一个用于订阅和处理事件等的扩展。在这些扩展中,我不可避免地要覆盖一些UIKit方法,例如layoutSubviews。直到今天,我才注意 ..
发布时间:2022-02-26 18:08:08 移动开发

在 Swift 中使用 where 子句扩展数组类型

我想使用 Accelerate 框架来扩展 [Float] 和 [Double],但每个都需要不同的实现. 我尝试了显而易见的: 扩展数组{} 并得到这个错误: "必须在非特化泛型上声明约束扩展类型 'Array' 由'where' 子句指定的约束" 是否可以通过这种方式在 Swift 2 中扩展泛型类型? 我现在已经让代码按预期工作了.这是一个使用 Accelerat ..
发布时间:2021-12-15 09:58:30 移动开发

在 Swift 中返回实例类型

我正在尝试进行此扩展: 扩展 UIViewController{class func initialize(storyboardName: String, storyboardId: String) ->自己{让 storyboard = UIStoryboard(name: storyboardName, bundle: nil)让控制器 = storyboad.instantiateView ..
发布时间:2021-12-02 15:46:53 移动开发

在 Swift 中创建一个扩展以从数组中过滤 nils

我正在尝试为 Array 编写一个扩展,它允许将可选 T 的数组转换为非可选 T 的数组. 例如这可以写成这样的自由函数: func removeAllNils(array: [T?]) ->[T] {返回数组.filter({ $0 != nil })//删除 nils,仍然是 [T?].map({ $0! })//从 T 转换每个元素?到一个 T} 但是,我无法让它作为扩展工作.我试 ..
发布时间:2021-11-18 02:15:34 移动开发

Swift 3.0:在数组或字典扩展中调用全局 func min<T>(T,T) 时出现编译器错误

从 Swift 2.2 转换到 3.0 后,我的 Array 扩展不再编译,因为它包含对全局标准库函数 min(T,T) 并显示编译器错误extra argument in call. 这是重现错误的简单方法: 扩展数组{func minimumInt(first: Int, second: Int) ->整数{return min(first, second)//编译器错误:“调用中的额 ..
发布时间:2021-11-18 01:44:57 移动开发

斯威夫特“哪里"数组扩展

从 Swift 2.0 开始,我们似乎可以更接近适用于谓词情况的泛型类型的扩展. 虽然我们还是做不到: protocol Idable {var id : 字符串 { 获取 }}扩展数组,其中 T :Idable {...} ...我们现在可以这样做: 扩展数组{func filterWithId(id : String) ->[T] {...}} ...Swift 在语法上接受了它 ..
发布时间:2021-09-24 20:16:37 移动开发

如何创建多个缓存的 UIColor

我的代码中有自定义颜色.我多次使用它们,我希望它们只分配一次. 情况/问题 如果我们查看 UIColor 标题,我们可以看到以下内容: [...]//一些创建颜色的便捷方法.这些颜色将尽可能校准.//这些颜色被缓存.open class var black: UIColor { get }//0.0 白色open class var darkGray: UIColor { get } ..
发布时间:2021-09-12 20:11:23 移动开发

我可以在 Swift 中扩展元组吗?

我想在 Swift 中为(例如)两个值的元组编写一个扩展.例如,我想编写这个 swap 方法: let t = (1, "一")让 s = t.swap 这样 s 将是 (String, Int) 类型,值为 ("one", 1).(我知道我可以很容易地实现一个 swap(t) 函数,但这不是我感兴趣的.) 我可以这样做吗?我似乎无法在 extension 声明中写出正确的类型名称. ..
发布时间:2021-09-10 20:07:53 移动开发

Swift 3:向 ViewController 添加 UIButton 扩展

我是 iOS/Swift 的初学者,正在尝试创建一个没有 Storyboard 的简单应用程序.我创建了一个 UIButton 扩展,我想在我的视图中添加一个简单的按钮(稍后会设置约束).不幸的是,该按钮不可见.如果有人帮助我,我将不胜感激.谢谢! --- Buttons.swift --- 扩展 UIButton {func createRectangleButton(buttonPos ..
发布时间:2021-09-02 18:41:57 移动开发

无法分配 _ArrayProtocol 中的项目

嗨,我正在尝试使用 ParseLiveQuery 检索数据 我的问题是...我无法分配数组中的项目... 导入基础导入解析导入 ParseLiveQuery扩展 _ArrayProtocol 其中 Iterator.Element == PFObject {变异 func updateWithEvent(event: Event) {切换事件{案例.created(让对象):追加(对象)c ..
发布时间:2021-09-02 18:37:13 其他开发

访问协议扩展的静态属性

我正在尝试构建一个公开静态属性的协议,然后在该协议的扩展中使用该静态属性,但它似乎只有在我也在协议扩展中定义此静态属性时才有效.基本上是我试图开始工作的代码: protocol NibInstantiable: class {静态变量包:包?{ 得到 }静态变量笔尖名称:字符串 { 获取}}扩展 NibInstantiable 其中 Self: UIViewController {//静态 va ..
发布时间:2021-09-02 18:36:34 移动开发

Set() 的 Swift map(_:) 扩展?

let numberSet = Set(1...11)让divideSet = numberSet.map({ $0/10 })//错误:Set 没有名为 map 的成员 :( Swift 1.2 支持 Set() 用于无序集合,但 map(_:) 似乎不适用于 Sets,所以我决定在我的游乐场并尝试过: let stringSet = Set(map(numberSet, { Strin ..
发布时间:2021-09-01 20:46:54 移动开发

如何为类别创建快速类?

我想创建现有 swift 类的类别,但 IDE 中没有这样做的选项. 知道 swift 项目中是否存在类别吗?或者如何在swift项目中实现类似的功能? 解决方案 在 Swift 中,您可以使用 Extensions 向现有类、结构和枚举类型添加新功能. 它们在几个方面与 Objective-C 类别不同,主要是: 他们没有名字 您不需要显式导入扩展.如果您定义扩展以向 ..
发布时间:2021-09-01 20:38:32 移动开发

Objective-C 代码可以调用 Swift 类扩展吗?

我搜了一些帖子,我觉得我不能在Swift下写一个扩展,从Objective-C代码中调用它,对吗? @objc 之类的属性只支持方法、类、协议? 解决方案 您可以编写 Swift 扩展并在 Objective-C 代码中使用它.使用 XCode 6.1.1 测试. 您需要做的就是: 在 Swift 中创建您的扩展(@objc 自 Swift 4.0.3 起需要注释) ..
发布时间:2021-09-01 20:36:49 移动开发