有没有办法默认通过自我?

时间:2015-10-07 10:50:42

标签: swift

我正在创建一个打印信息的log方法(类似于MLog

#define MDLog(format, ...) NSLog(@"<%p> %s [#%d]| "format@"\n\n", self, __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)

我能够获取文件名,方法名和行号,但我想打印调用对象的地址以及我需要self的地址。 但是每次调用log方法时,我都不想传递自我。那么有没有办法默认通过self

e.g。

func log(message: String, object: NSObject = __SELF_HERE__ , functionName: String = __FUNCTION__, fileName: String = __FILE__, lineNumber: Int = __LINE__) {
  print("\(message)")
  print("\(functionName)")
  print("\(fileName)")
  print("\(lineNumber)")
  print("\(myObj)")
}



P.S。如果没有任何效果我会想到的解决方案。

  1. self作为log方法中的参数传递。 (会更喜欢这个)
  2. 为具有NSObject/UIViewController方法
  3. log创建扩展程序

0 个答案:

没有答案