如何从不同的目标访问数组(KeyboardViewController)

时间:2015-12-27 05:54:25

标签: ios swift

我在花了相当多的时间学习java之后才开始使用Swift。我正在尝试创建一个键盘应用。我创建了一个新的目标KeyBoardViewController,并尝试访问我在ViewController类中创建和变异的数组。我有点困惑阅读swift中有关访问级别的文档。我看到我的ViewController.swift和KeyboardViewController.swift在不同的文件夹中。我将包含ViewController的模块导入到我的KeyboardViewController中,但它仍然无法访问我需要的数组。

我已经阅读过使用struct(),.表示法,并将ViewController类声明为public,但这些都没有识别我的数组。当我使用struct()时,它似乎每次在ViewController中引用它时重置我的数组,但仍然无法识别KeyboardViewController中的任何内容。任何帮助表示赞赏!

2 个答案:

答案 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