我在ViewController中创建了一个var:

class ViewController: UIViewController {
var options: Options?

}

在视图中将显示我设置的选项
/ grab the options
    let optionsFetch: NSFetchRequest<Options> = Options.fetchRequest()

    do{
        let results = try coreDataStack.managedContext.fetch(optionsFetch)
        if(results.count > 0){
            options = results.first
        }
    }catch let error as NSError{
        print("\(error) is the error")
    }

我还有一个扩展:
extension UIViewController {
func myMethod() {
let color = options.color
}

我似乎无法从扩展中访问options var。我找到了这篇文章,以为我听懂了他们说的话,但还是没有运气。
enter link description here

最佳答案

你的分机弄错了。

extension ViewController {
    func myMethod() {
        let color = options.color
    }
}

您似乎扩展了默认的UIViewController类。您应该扩展您的ViewController类,它是您创建的UIViewController的一个子类,其中您的变量options可用。

关于swift - 如何从同一ViewController的扩展名访问var,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52296691/

10-15 03:23