Swift2 从另一个类访问IBOutlet的内容

Swift2 从另一个类访问IBOutlet的内容,swift2,iboutlet,Swift2,Iboutlet,我的问题很简单,我在一个类中声明了一个IBoutlet(标签),我需要从另一个类中更改它的内容,这可能吗? 编辑:IBoutlet的视图通过滚动视图加载到另一个类中 第一类: var historyVariable = "" class FirstViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // here a code to set a value to

我的问题很简单,我在一个类中声明了一个IBoutlet(标签),我需要从另一个类中更改它的内容,这可能吗? 编辑:IBoutlet的视图通过滚动视图加载到另一个类中

第一类:

var historyVariable = ""
class FirstViewController: UIViewController {
 override func viewDidLoad() {


    super.viewDidLoad()

 // here a code to set a value to historyVariable when button pressed

 Text().call()

   }
}
二等

class  Text: UIViewController {

@IBOutlet var History: UILabel!
override   func viewDidLoad() {

    super.viewDidLoad()
   }
func call() {

History.text = "\(historyVariable)"
 }
}
在尝试将文本设置为历史标签时,如果假定
text()
实际上是
text()
,则在展开可选值时意外发现一个错误,该错误为零,这将创建一个新的空
text
对象。由于它不是控制器层次结构的一部分,因此在调用
call()
时不会加载它的视图和其他输出


您需要从故事板(或其他方式)实例化
文本
控制器,并将其显示,以便正确初始化,或者使用已经激活的控制器…如果这是您的意图。

您的问题没有很好地解释您要实现的目标。试着发布这两个类中的代码,显示您希望在哪里与另一个类进行交互。Theilya,编译器不是在抱怨这些代码吗1) 您的
@IBOutlet var
应该是小写的
历史
-2) 您的
func call()
声明需要在类声明的最后一个右括号内。-3) 使用大写的
Text
作为您的类名。首先修复这些错误,然后更新上面的代码,无论您是遇到其他编译器错误还是实际的运行时错误。我已经修复了这些错误,但仍然,我在尝试修改通过实际第一个类中的滚动视图加载的文本标签的内容时,在展开可选值时意外发现了一个错误,该错误不会改变
text()
创建新对象的事实,不是对您以前可能已加载的对象的引用。滚动视图在有历史标签的情况下加载xib,我需要在每次按下该按钮并显示结果时重新加载该历史标签,我将如何执行此操作?当您从xib创建
Text
对象时,保存对该对象的引用(可能在
FirstViewController
)中使用该引用,而不是新的
Text
。如何保存对Text的引用(很抱歉,我只是个初学者)