无法使用类型'([String:String?])'的参数列表调用'taskCreated'

时间:2015-07-12 02:16:00

标签: ios xcode swift

我使用Swift完成了一个任务iOS应用程序。整个应用程序完成并完成没有错误,并正常运行。我正在使用Xcode 6,但不久前我升级到最新的Xcode Beta,即Xcode 7 Beta。在我的一个swift文件中,由于某些逻辑已从更改xcode 6转换为xcode 7 beta,因此只有一个错误曾经不是来自xcode 6的错误。在我的行中,错误是; “无法使用类型'的参数列表调用'taskCreated'([String:String?])'”如何解决此错误?

代码行如下:

delegate!.taskCreated(["name": nameTask, "description": descriptionTask])

如果有人想看我的“taskCreated”功能,我也会在这里发布。

func taskCreated(task: Dictionary<String, String>) {
    print("in task created delegate of ViewController")
    print(task)

    dataSource[0].append(task)


    tableView.reloadData()
}

2 个答案:

答案 0 :(得分:0)

nameTaskdescriptionTask中的一个属于String?类型。你可以用感叹号打开它们:

delegate!.taskCreated(["name": nameTask!, "description": descriptionTask!])

答案 1 :(得分:0)

变量nameTaskdescriptionTask不是字符串,而是Optional(String)(表示为String?),这就是为什么它说你无法调用taskCreated [String: String?]。您只能发送[String: String]

如果您确定nameTaskdescriptionTask永远不会为零,只需将其调用替换为: delegate!.taskCreated(["name": nameTask!, "description": descriptionTask!])