从另一个类访问IBOutlet的内容

时间:2015-12-23 21:11:05

标签: swift2 iboutlet

我的问题很简单,我在一个类中声明了一个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)"
 }
}

在尝试将文本设置为历史记录标签时展开“可选”值时,意外发现nil意外错误

1 个答案:

答案 0 :(得分:0)

假设text()实际上是Text(),那将创建一个新的空Text对象。由于它不是控制器层次结构的一部分,因此在您调用call()时不会加载其视图和其他出口。

您需要从故事板(或其他)实例化Text控制器并将其呈现以便正确初始化,或者使用已经处于活动状态的控制器...如果这是您的意图。