Ios 实例成员';showSettings';不能用于类型';设置SLauncher';
我试图将按钮中的一堆代码移动到一个文件中。 这是我原来的VC中的按钮Ios 实例成员';showSettings';不能用于类型';设置SLauncher';,ios,swift,Ios,Swift,我试图将按钮中的一堆代码移动到一个文件中。 这是我原来的VC中的按钮 let blackView = UIView() let settingsLuancher = SettingsLauncher() @IBAction func refreshBtnAction(_ sender: UIButton) { SettingsLauncher.showSettings() } 这是设置Slauncher.swift import Foundat
let blackView = UIView()
let settingsLuancher = SettingsLauncher()
@IBAction func refreshBtnAction(_ sender: UIButton) {
SettingsLauncher.showSettings()
}
这是设置Slauncher.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”;您的意思是使用此类型的值吗?
不知道为什么会发生这种情况,非常感谢您的帮助。您使用的是类名
SettingsLauncher
,而不是对象SettingsLauncher
:
SettingsLauncher.showSettings()
应该是
settingsLuancher.showSettings()
查看
SettingsLauncher.showSettings()
它不是类方法,而是实例方法,所以它将由类的实例而不是类本身调用
如下
settingsLuancher.showSettings()
谢谢你回答我的问题!不幸的是,我只能选择一个答案,但非常感谢您的解决方案!