我想用一种方法打印#file
,#function
和#line
。
我尝试了以下代码,但问题在这里。
无论我在哪里呼叫logm()
,它始终会打印logm
方法本身的信息,即使我将其声明为@inline
。
@inline(__always) func logm(items: Any...) {
if let f = #file.componentsSeparatedByString("/").last {
print("[\(f)][\(#function)][\(#line)]:", items)
} else {
print("[\(#function)][\(#line)]: ", items)
}
}
反正有没有实现这种事情?为什么@inline
按预期工作?
答案 0 :(得分:1)
您可以将文件,行和函数作为参数传递,并将指令作为默认值:
!object.Equals(_content[_size - 1], default(T))