Ios 实例成员';showSettings';不能用于类型';设置SLauncher';

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

我试图将按钮中的一堆代码移动到一个文件中。 这是我原来的VC中的按钮

    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()

谢谢你回答我的问题!不幸的是,我只能选择一个答案,但非常感谢您的解决方案!