如何从相同 ViewController 的扩展访问 var
How to access a var from an extension of the same ViewController
我在 ViewController:
中创建了一个变量
class ViewController: UIViewController {
var options: Options?
}
在 viewWillAppear 中我设置了选项
/ 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
}
我似乎无法从扩展中访问选项 var。我找到了这个 post,并认为我已经听懂了他们所说的,但仍然没有运气。
enter link description here
你的分机有误。
extension ViewController {
func myMethod() {
let color = options.color
}
}
您似乎扩展了 默认值 UIViewController
class。您应该扩展 ViewController
class,它是您创建的 UIViewController
的 subclass,其中您的变量 options
可用。
我在 ViewController:
中创建了一个变量class ViewController: UIViewController {
var options: Options?
}
在 viewWillAppear 中我设置了选项
/ 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
}
我似乎无法从扩展中访问选项 var。我找到了这个 post,并认为我已经听懂了他们所说的,但仍然没有运气。 enter link description here
你的分机有误。
extension ViewController {
func myMethod() {
let color = options.color
}
}
您似乎扩展了 默认值 UIViewController
class。您应该扩展 ViewController
class,它是您创建的 UIViewController
的 subclass,其中您的变量 options
可用。