gpt4 book ai didi

ios - 静态函数返回 UIView 遇到 SIGBART 错误(SWIFT)

转载 作者:行者123 更新时间:2023-11-28 13:26:08 25 4
gpt4 key购买 nike

我面临着创建一个类的静态函数的问题

我正在开发一个需要自定义输入 View 的应用程序。我的想法是把这个函数作为一个 go-to,这样无论什么类型的 UIKit 组件需要这个自定义输入 View 都可以调用这个函数

这是我的代码

class Helper { 
static func getCustomKeyboard() -> CustomInputView {
let inputView = UINib(nibName: "CustomInputView", bundle: nil).instantiate(withOwner: self, options: nil).first as! CustomInputView
return inputView
}
}

当我在另一个 UIViewController、UIView 或 UITableViewCell 中调用此函数时,会出现 SIGBART 错误。

但是,如果我直接从它自己的VC或UIView中调用下面的代码,就不会出现错误。

let inputView = UINib(nibName: "CustomInputView", bundle: nil).instantiate(withOwner: self, options: nil).first as! CustomInputView

我现在正在做的是创建每个 UIKit 组件扩展。这样,错误也不会出来。

所以我的问题是,有什么方法可以让我创建一个辅助函数,它只有一个,并且可以从任何地方调用而不会出现 SIGBART 错误?

谢谢

最佳答案

我认为问题可能出在您将“self”作为所有者传递给“实例化”方法。在静态方法中,“self”是 Helper 类本身。尝试将“nil”作为所有者传递,或者如果您希望使用自定义键盘的组件成为所有者,则将其作为“getCustomKeyboard”参数传递。

关于ios - 静态函数返回 UIView 遇到 SIGBART 错误(SWIFT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58336287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com