小智 28
如果你想使用swift做到这一点,你可以这样做:
func debug(file: String = #file, line: Int = #line, function: String = #function) -> String {
return "\(file):\(line) : \(function)"
}
Run Code Online (Sandbox Code Playgroud)
这很简单.忽略语法高亮,这是错误的.
kel*_*ket 14
要从内部访问方法的基础类,请使用以下dynamicType属性:
self.dynamicType
Run Code Online (Sandbox Code Playgroud)
如果您想知道原始调用的来源,可以使用它NSThread来返回有关堆栈的调试信息:
NSThread.callStackSymbols()
Run Code Online (Sandbox Code Playgroud)
此方法返回一个描述性值数组,您可以在抛出异常时看到这些值.字符串表示调用堆栈上所有当前活动的回溯.
我不想放肆,但在我看来,除了调试之外,从概念上来说,至少要知道任何和每个函数的特定方法调用的起源都没有充分的理由.如果需要检索堆栈上最后一个方法调用的类Type,为什么不实现一个允许您通过简单路径访问此信息的接口?
gag*_*wal 10
您可以使用以下模板来了解文件中的文件,行号以及调用someFunction的函数:
func someFunction(file: String = #file, line: Int = #line, function: String = #function)
{
NSLog("\(file.lastPathComponent):\(line) : \(function)")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12467 次 |
| 最近记录: |