在Swift中将对象从一个类移动到另一个类

时间:2017-11-14 18:09:25

标签: ios swift class object

有一个类似的问题: 类 ViewController 中有一个 addinAprel 对象,还有一个类 SecondController ,有必要在Swift中将此对象从一个类传输到另一个类。

示例程序:

ViewController 类中的功能:

if (empty($myarray)) { }

Class SecondController

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
print("Selected item is", current_arr[row])
active_textField.text = current_arr[row]
let realm = try! Realm()
let events = realm.objects(EventsDB.self)

if ((text_field_months.text) == "Апрель")
{
    if ((text_field_days.text) == "8")
    {
    let addinAprel=print(events.filter("dataMonth == %@ && dataDay ==%@",months_arr[3], days_arr[7]))
        print("very good")
        return addinAprel
    }
    if ((text_field_days.text) == "1")
    {
    let addinAprel=print(events.filter("dataMonth == %@ && dataDay ==%@",months_arr[3], days_arr[0]))
        print("very good")
        return addinAprel
    }
    print("good")
}
else{
    print("very bad")
}
}

1 个答案:

答案 0 :(得分:1)

这取决于流量。 有多种选择,如:

  1. 委托模式
  2. 通知
  3. 通过segue / unwind segue传递
  4. 通过共享实体或服务传递(例如Singleton)
  5. 直接引用ViewController
  6. 使用存储(UserDefaults,数据库等)
  7. 要回答这个问题,你应该提供更多背景信息。

    从我看到你可以使用选项5: 从ViewController实例化SecondController(可以将其保留为类范围中的引用),设置所需的属性并显示/推送它。这是最简单的选择。

    我建议您详细了解ViewControllersProtocols/DelegationNotifications