访问扩展文件中一个文件中声明的变量时出现问题

时间:2019-05-28 19:38:23

标签: ios swift global-variables

我在ViewController.swift文件中声明了一个变量,如下所示:

struct serials{
    static var snToConnectTo2 = ""
}

class ViewController: UIViewController {
....
}

我想从我的KeyboardViewController.swift文件访问此变量,该文件属于ViewController.swift控制的应用程序扩展。

我正在尝试像这样访问变量:

serials.snToConnectTo2

当我尝试编译代码时,出现以下错误:

Use of unresolved identifier 'serials';

如何正确访问不同文件中的变量?

2 个答案:

答案 0 :(得分:0)

没有给出任何错误

import Foundation
import UIKit

class Sclass: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        print("run1: \(serials.snToConnectTo2)")
        serials.snToConnectTo2 = "abc"
        print("run2: \(serials.snToConnectTo2)")

    }
}


struct serials{
static var snToConnectTo2 = ""
}

输出是

run1: 
run2: abc

如果您仍然遇到任何错误...请提供

class ViewController: UIViewController {
....
}

答案 1 :(得分:0)

首先,您需要将结构声明为公共结构,并声明其属性,如下所示:

 public struct serials{
 public static var snToConnectTo2 = ""

 public init() {

 }
}

您需要按照以下屏幕快照中的说明链接此文件(我的意思是包含结构的文件)

enter image description here

然后选择您的文件并添加它,它将可以正常工作