Swift当前是否支持宏,或者将来有计划添加支持吗?目前,我正在散布:
Log.trace(nil, function: __FUNCTION__, file: __FILE__, line: __LINE__)
在我的代码中的各个地方。
在这种情况下,应为“宏”参数添加默认值。
Swift 2.2及更高版本
func log(message: String, function: String = #function, file: String = #file, line: Int = #line) { print("Message \"\(message)\" (File: \(file), Function: \(function), Line: \(line))") } log("Some message")
Swift 2.1及更低版本
func log(message: String, function: String = __FUNCTION__, file: String = __FILE__, line: Int = __LINE__) { print("Message \"\(message)\" (File: \(file.lastPathComponent), Function: \(function), Line: \(line))") } log("Some message")
这是fatalError和assert功能做。
fatalError
assert
除了其他答案中已经提到的条件编译之外,没有其他宏。