DeviceListViewController

DeviceListViewController

大家好,我有以下代码

class DeviceListViewController {
    private var currentPeripheral:BLEPeripheral?

    public class var sharedInstance: DeviceListViewController {
        struct Singleton {
            static let instance = DeviceListViewController()
        }
        return Singleton.instance
    }

    func getCurrentPeripheral() -> BLEPeripheral? {
        return currentPeripheral
    }

}

但是当我在另一个类中使用它时
DeviceListViewController.getCurrentPeripheral()

告诉我以下的话我就错了
在“DeviceListViewController”类型上使用实例成员“getCurrentPeripheral”;是否要改用“DeviceListViewController”类型的值?
我不知道我在这里做错了什么。对如何解决这个问题有什么建议吗?
p.s.xcode的autocomplete函数以某种方式将ViewController作为参数传递给它
DeviceListViewController.getCurrentPeripheral(DeviceListViewController)

但也会导致同样的错误

最佳答案

您需要在共享实例上调用方法,而不是在类上

DeviceListViewController.sharedInstance.getCurrentPeripheral()

关于swift - 不能使用单例类返回其属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37675276/

10-09 02:32