在 Swift 中记录行号和方法名称
Log line number and method name in Swift
我正在将 Objective C
代码转换为 Swift
。找到这段代码:
#define MPLog(fmt, ...) \
do { \
if ([MPPush getLoggingPref] && ![MPPush getEnvironmentPref]) { \
NSLog(fmt, ##__VA_ARGS__); \
} \
} while(0)
我知道这段代码的作用,但我无法转换它。我发现 this 很棒 link 但这只有 Objective C
参考。
Swift 提供了一些用于记录的表达式,其中包括行号和方法名称:
Literal Type Value
#file String The name of the file in which it appears.
#line Int The line number on which it appears.
#column Int The column number in which it begins.
#function String The name of the declaration in which it appears.
例如:
func logFunctionName(string: String = #function) {
print(string)
}
func myFunction() {
logFunctionName() // Prints "myFunction()".
}
有关详细信息,请查看 official documentation
我正在将 Objective C
代码转换为 Swift
。找到这段代码:
#define MPLog(fmt, ...) \
do { \
if ([MPPush getLoggingPref] && ![MPPush getEnvironmentPref]) { \
NSLog(fmt, ##__VA_ARGS__); \
} \
} while(0)
我知道这段代码的作用,但我无法转换它。我发现 this 很棒 link 但这只有 Objective C
参考。
Swift 提供了一些用于记录的表达式,其中包括行号和方法名称:
Literal Type Value
#file String The name of the file in which it appears.
#line Int The line number on which it appears.
#column Int The column number in which it begins.
#function String The name of the declaration in which it appears.
例如:
func logFunctionName(string: String = #function) {
print(string)
}
func myFunction() {
logFunctionName() // Prints "myFunction()".
}
有关详细信息,请查看 official documentation