我试图理解'didFinishPickingMediaWithInfo'在以下swift函数定义中的含义。
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
}
我看到'info'表示字典集合类型,但我不明白为什么它前面有'didFinishPickingMediaWithInfo'。 我是swift和iOS开发的新手一般请帮忙回答一些琐碎的问题。 谢谢
答案 0 :(得分:1)
修改方法的外部参数名称行为
有时为a提供外部参数名称很有用 方法的第一个参数,即使这不是默认值 行为。为此,您可以自己添加明确的外部名称。
相反,如果您不想为其提供外部名称 方法的第二个或后续参数,覆盖默认值 通过使用下划线字符(_)作为显式外部的行为 该参数的参数名称。
这意味着在您的方法中,单词didFinishPickingMediaWithInfo
是调用方法时使用的变量名。但是,您可以从info
变量中获取数据。例如,在您的情况下,该方法将被称为imagePickerController(picker: <UIImagePickerController>, didFinishPickingMediaWithInfo: <info>)
,因为didFinishPickingMediaWithInfo
会替换info
。
希望有所帮助!
答案 1 :(得分:1)
这允许您为更详细的版本提供参数排序别名。因此,您不必使用didFinishPickingMediaWithInfo
作为变量进行操作,而只需使用名为info
的本地参数(或别名)。
指定外部参数名称
在本地参数名称之前编写外部参数名称 它支持,由空格分隔:
func someFunction(externalParameterName localParameterName: Int) { // function body goes here, and can use localParameterName // to refer to the argument value for that parameter }