gpt4 book ai didi

ios - 我如何在 swift 的扩展中声明 NSLayoutConstraint 类型的变量

转载 作者:搜寻专家 更新时间:2023-11-01 06:58:23 25 4
gpt4 key购买 nike

我已经为我的 UIViewController 创建了一个扩展,我想声明一些我可以在整个扩展中使用的变量。下面是我的代码

extension UIViewController {

var mssgTopConstraint1: NSLayoutConstraint?
var mssgTopConstraint2: NSLayoutConstraint?
var mssgIconTop1: NSLayoutConstraint?
var mssgIconTop2: NSLayoutConstraint?
var isCheviClicked: Bool = false

}

我有这个错误扩展可能不包含所有五个变量的存储属性。

最佳答案

错误很明显,您不能在扩展中添加存储属性,您只能使用计算属性。

您可以子类化 UIViewController 并在您的自定义类中声明这些属性:

class MyViewController: UIViewController {

var mssgTopConstraint1: NSLayoutConstraint?
var mssgTopConstraint2: NSLayoutConstraint?
var mssgIconTop1: NSLayoutConstraint?
var mssgIconTop2: NSLayoutConstraint?
var isCheviClicked: Bool = false
}

这是一种更简洁的方法,因为使用这些属性扩展 UIViewController 没有太大意义,因为并非所有 Controller 都需要这些属性。

您可以实例化这个新 Controller ,或者在 XIB/Storyboard 中将类名设置为 MyViewController。这样您就可以使用新的 Controller 和新声明的属性。

关于ios - 我如何在 swift 的扩展中声明 NSLayoutConstraint 类型的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52064648/

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