我在花了相当多的时间学习java之后才开始使用Swift。我正在尝试创建一个键盘应用。我创建了一个新的目标KeyBoardViewController,并尝试访问我在ViewController类中创建和变异的数组。我有点困惑阅读swift中有关访问级别的文档。我看到我的ViewController.swift和KeyboardViewController.swift在不同的文件夹中。我将包含ViewController的模块导入到我的KeyboardViewController中,但它仍然无法访问我需要的数组。
我已经阅读过使用struct(),.表示法,并将ViewController类声明为public,但这些都没有识别我的数组。当我使用struct()时,它似乎每次在ViewController中引用它时重置我的数组,但仍然无法识别KeyboardViewController中的任何内容。任何帮助表示赞赏!
答案 0 :(得分:1)
这是一个简单的解决方案:
在任何一个课程中,你都可以这样做:
import UIKit
var arr = [String]()
class ViewController: UIViewController {
然后您可以在任一课程中访问arr
。希望这会有所帮助。
答案 1 :(得分:0)
使用变量viewController的静态实例创建另一个类,如下所示:
class DataStore {
static var yourArray:[String]?
}
然后将数组实例存储在ViewController类中,如下所示:
DataStore.yourArray = self.array
稍后在类KeyboardViewController中,您可以按如下方式访问数组实例:
DataStore.yourArray