我正在尝试将我的按钮中的一堆代码移动到一个文件中。 这是我原来VC中的按钮
let blackView = UIView()
let settingsLuancher = SettingsLauncher()
@IBAction func refreshBtnAction(_ sender: UIButton) {
SettingsLauncher.showSettings()
}
这是SettingsLauncher.swift,
import Foundation
import UIKit
class SettingsLauncher:NSObject {
let blackView = UIView()
func showSettings() {
if let window = UIApplication.shared.keyWindow{
blackView.backgroundColor = UIColor(white: 0, alpha: 0.5)
window.addSubview(blackView)
blackView.frame = window.frame
blackView.alpha = 0
blackView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleDismiss)))
UIView.animate(withDuration: 0.2, animations: {
self.blackView.alpha = 1
})
}
}
func handleDismiss(){
UIView.animate(withDuration: 0.2, animations: {
self.blackView.alpha = 0
// dismisses blackView
})
}
编译一直失败,它显示: 实例成员'showSettings'不能用于'SettingsLauncher'类型;你的意思是使用这种类型的值吗?
不确定为什么会发生这种情况,感谢任何帮助。
答案 0 :(得分:2)
看看SettingsLauncher.showSettings()
它不是类方法它的实例方法所以它将被类实例调用而不是类本身。
如下所示
settingsLuancher.showSettings()
答案 1 :(得分:1)
您使用的是班级名称SettingsLauncher
,而不是对象settingsLuancher
:
SettingsLauncher.showSettings()
应该是
settingsLuancher.showSettings()