嗨,所以我的朋友给了他客户现有的项目,但是它有太多的错误。我一直在调试应用程序,只是浏览这行代码
class func saveFile(#data: NSData, filename: String, directory: NSSearchPathDirectory = .DocumentDirectory) -> Bool {
var file = filePath(filename, directory: directory)
return data.writeToFile(file, atomically: true)
}
注意到#
?那么究竟是什么#
?
此处还有#
功能的屏幕截图。
其他信息:我认为他们使用了这个库Service Stack,我认为它只适用于xamarin。
答案 0 :(得分:7)
在Swift 1中,#
用于为函数参数提供相同的外部和内部名称。例如,函数定义:
func save(#data: Float) {
print(data)
}
相当于:
func save(data data: Float) {
print(data)
}
在Swift 2中删除了它,并且必须明确声明外部名称。
外部参数名称用于使函数调用更具惯用性。例如:
func send(sender: String, receiver: String) {
print("Sending from \(sender) to \(receiver)")
}
这样叫:
send("Cupertino", "New York")
通过添加外部参数,您可以在不更改正文的情况下使该函数调用更具惯用性:
func send(from sender: String, to receiver: String) {
print("Sending from \(sender) to \(receiver)")
}
使代码更具可读性:
send(from: "Cupertino", to: "New York")
中的更多信息