我使用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()
}
答案 0 :(得分:0)
nameTask
或descriptionTask
中的一个属于String?
类型。你可以用感叹号打开它们:
delegate!.taskCreated(["name": nameTask!, "description": descriptionTask!])
答案 1 :(得分:0)
变量nameTask
或descriptionTask
不是字符串,而是Optional(String)
(表示为String?
),这就是为什么它说你无法调用taskCreated
[String: String?]
。您只能发送[String: String]
。
如果您确定nameTask
且descriptionTask
永远不会为零,只需将其调用替换为:
delegate!.taskCreated(["name": nameTask!, "description": descriptionTask!])