在Objective-C中,我将使用以下代码来标识类的实例和在控制台中调用的函数。
NSLog(@"[DMLOG - %@] %@", NSStringFromSelector(_cmd), self);
Run Code Online (Sandbox Code Playgroud)
这将返回类似于以下控制台的内容,在该控制台中,我将获得一个实例ID来跟踪对象的不同实例。
[DMLOG - prepForInput] <GridBase: 0x7fb71860a190>
Run Code Online (Sandbox Code Playgroud)
如何获取实例ID和在Swift中被调用的函数?我已经尝试了以下方法来在Swift中获取ID,但它仅提供类名而没有实例ID值?任何建议,将不胜感激。
print("[DBG] Init: \(self)")
Run Code Online (Sandbox Code Playgroud)
要获取当前函数名称,请使用#function文字。
至于实例ID,看起来您有两个选择:
继承自NSObject(UIKit类始终继承),因此类实例将具有实例ID:
class MyClass: NSObject {
override init() {
super.init()
print("[DBG: \(#function)]: \(self)")
}
}
Run Code Online (Sandbox Code Playgroud)如果您的类没有继承自NSObject您,您仍然可以通过内存地址来标识实例:
class Jumbo {
init() {
print("[DBG: \(#function)]: \(Unmanaged.passUnretained(self).toOpaque())")
}
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
938 次 |
| 最近记录: |