gpt4 book ai didi

swift - 'LoadingOverlay' 没有可见的@interface 声明选择器 'showOverlay:'

转载 作者:行者123 更新时间:2023-11-28 14:27:52 24 4
gpt4 key购买 nike

我有这个 swift 类

@objc public class LoadingOverlay : NSObject{

@objc var overlayView : UIView!
@objc var activityIndicator : UIActivityIndicatorView!

@objc class var shared: LoadingOverlay {
struct Static {
static let instance: LoadingOverlay = LoadingOverlay()
}
return Static.instance
}

@objc override init(){
self.overlayView = UIView()
self.activityIndicator = UIActivityIndicatorView()

overlayView.frame = CGRect(origin: CGPoint(x:0, y:0), size: CGSize(width:80, height:80))
overlayView.backgroundColor = UIColor(white: 0, alpha: 0.7)
overlayView.clipsToBounds = true
overlayView.layer.cornerRadius = 10
overlayView.layer.zPosition = 1

activityIndicator.frame = CGRect(origin: CGPoint(x:0, y:0), size: CGSize(width:40, height:40))
activityIndicator.center = CGPoint(x:overlayView.bounds.width / 2, y:overlayView.bounds.height / 2)
activityIndicator.activityIndicatorViewStyle = .whiteLarge
overlayView.addSubview(activityIndicator)
}

@objc public func showOverlay(view: UIView) {
overlayView.center = view.center
view.addSubview(overlayView)
activityIndicator.startAnimating()
}

@objc public func hideOverlayView() {

DispatchQueue.main.async(execute: {
self.activityIndicator.stopAnimating()
self.overlayView.removeFromSuperview()
})
}
}

我在一个 objective-c 方法中调用这个类

LoadingOverlay *sharedManager = [LoadingOverlay shared];
[sharedManager showOverlay:(self.view)];

我收到这个错误

No visible @interface for 'LoadingOverlay' declares the selector 'showOverlay:'

我该如何解决?

最佳答案

Objective c 追加了(labelOfParameter) ,所以把它转换成

 LoadingOverlay *sharedManager = [LoadingOverlay shared];
[sharedManager showOverlayWithView:self.view];

关于swift - 'LoadingOverlay' 没有可见的@interface 声明选择器 'showOverlay:',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51450385/

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