swift - 将不同类型传递给函数

标签 swift function core-data types

我正在尝试根据他们想要将其保存到的列表保存到不同的核心数据对象。

是否可以制作一个函数,您传入一个类型并根据该类型将其保存到正确的列表中?

 let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
    if index == 0 {
        let task = TodayTask(context: context)

        task.name = taskText.text! // Do this in function insead
        task.adress = addressField.text // Do this in function insead
        task.date = userDate // Do this in function insead

    }else if listIndex.selectedSegmentIndex == 1 {
        let task = WeekTask(context: context)
        task.name = taskText.text!
    }else {
        let task = Task(context: context)
        task.name = taskText.text!

func saveToCoreData(task: SomeList){
    let task = SomeList(context: context) // The correct list based on what the user chooses
    task.name = taskText.text!
    task.adress = addressField.text
    task.date = userDate
}

最佳答案

您应该使用一种称为动态分派(dispatch)的技术。例如:

func accept(value: String) {
    //This to process a string
}

func accept(value: Int){
    //This called to process an Int
}

然后你只需调用 accept(value: myValue) 函数就会动态地分配给正确的函数。

关于swift - 将不同类型传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45347347/

相关文章:

types - 在 Swift 中将有符号转换为无符号

ios - 如何处理与 NSURLSession 失去互联网连接?

javascript - 使用自定义函数的传递参数创建对象

python - Yacc - 具有函数支持的方程解析器

objective-c - 核心数据 : storing an array of objects

ios - 获取实体数组中的最高日期。

ios - 裁剪 UIImage 方向/拉伸(stretch)

swift - 如何创建打印纸来测试 UIPrintInteractionController Delegate

javascript - 有没有办法从当前函数中获取当前函数?

ios - 带有大量图像的 UITableView