gpt4 book ai didi

swift - 如果在扩展 Swift5.1 Xcode11.3 中声明,则子类无法访问便利 init

转载 作者:行者123 更新时间:2023-11-30 10:27:21 25 4
gpt4 key购买 nike

    import UIKit

public class MyButton: UIButton {}

public extension UIButton {
var someProperty: Int { 1 } // visible in xcframework

convenience init(label: String) { // NOT visible in xcframework
self.init()
}
}

我制作xcframework。里面有这段代码。我将此 xcframework 链接到应用程序并使用它,但 MyButton 类没有方便的 init。 XCode 11.3

最佳答案

便利 init 中需要公共(public)标志。这将使 init 在 xcframework 中可见。

试试这个

import UIKit

public class MyButton: UIButton {}

public extension UIButton {
var someProperty: Int { 1 } // visible in xcframework

public convenience init(label: String) { // NOT visible in xcframework
self.init()
}
}

但是,您正在更新 UIButton 而不是声明的类 MyButton。确保这正是您想要做的。

关于swift - 如果在扩展 Swift5.1 Xcode11.3 中声明,则子类无法访问便利 init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59878881/

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