如何从我的另一个类(SWIFT)中的ViewController更新属性

时间:2014-12-19 15:47:27

标签: ios swift nsnotificationcenter

我搜索但只看到OC版本,似乎应该使用NSNotificationCenter?

在ViewController类的viewDidLoad func中有一个textField,请看下面的内容:

     class ViewController: UIViewController {
        var textField1 = UITextField()
        override func viewDidLoad() {
        super.viewDidLoad()

        textField1.frame = CGRectMake(20, 70, 300, 500)
        textField1.text = "Default"        
        self.view.addSubview(textField1)

在另一个类ContactData中有一个func getContacts,它将在ViewController中调用,在这个func中我需要更新textField1的文本属性,当使用ViewController.textField1.text =“XXXXXX”下面不起作用时,我是新的IOS SWIFT,任何人都可以帮我解决这个问题吗?

class ContactData: NSObject {    
    func getContacts()
{ViewController.textField1.text = "XXXXXX"}

非常感谢。

1 个答案:

答案 0 :(得分:0)

这里更多的是设计问题。您的函数getContacts不应直接更新文本字段。它应该返回联系人字符串,视图控制器应该调用此方法来获取字符串并更新文本字段。

class ContactData: NSObject {    
    func getContacts() -> String
    {
         return "XXXXXX"
    }
}

在你的UIViewController中:

let myContact = ContactData()
textField1.text = myContact.getContacts()