swift - “LoadingOverlay”没有可见的@interface 声明选择器“showOverlay:”
问题描述
我有这个快速的课程
@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()
})
}
}
我在一个客观的c方法中调用这个类
LoadingOverlay *sharedManager = [LoadingOverlay shared];
[sharedManager showOverlay:(self.view)];
我收到了这个错误
No visible @interface for 'LoadingOverlay' declares the selector 'showOverlay:'
我该如何解决?
解决方案
Objective c 附加 with(labelOfParameter) ,因此将其转换为
LoadingOverlay *sharedManager = [LoadingOverlay shared];
[sharedManager showOverlayWithView:self.view];
推荐阅读
- android - 使用 buildToolsVersion 28.0.1 时发现多个文件具有操作系统独立路径“lib/mips/libRSSupport.so”
- android - 片段和活动中的 Backstack 问题
- python - python - 如果值 = 1,则熊猫数据框打印列
- java - 在其他项目中使用 AspectJ 项目作为 jar
- docker-compose - Docker_Error:-"socket.gaierror: [Errno -3] Temporary failure in name resolution" 在 docker 镜像上运行 celery 时出现错误
- php - 是否可以使用模型的记录在 Laravel 模型中声明动态常量?
- office365 - 如何知道一个电子邮件 ID 是用于组还是个人?
- java - Lagom 发送自定义标头
- r - R iconv() 错误 - 不支持从“latin1”到“ASCII”的转换
- ms-word - 如何添加。到 Word 中的书签名称