我有下面的宏的问题,我用它来记录各种信息
#define JELogVerbose(fmt, ...)  
DDLogVerbose((@"%@ %@ - " fmt), NSStringFromClass([self class]),
                                NSStringFromSelector(_cmd), ##__VA_ARGS__)
当在块内部使用这个最终宏时会出现问题,它显然会强烈捕获自身,这可能是有问题的.
以下是解决方案的一些要求:
__FILE__或__PRETTY_FUNCTION__因为它们捕获将捕获超类而不是子类.因此,对于用于创建许多实例的类的抽象,日志记录不区分每个实例.捕获当前类是绝对必要的作为我发布构建的构建步骤的一部分,我希望能够访问特定构建的更改日志.特别是git提交消息.
我不确定我是否可以在构建步骤中通过git执行此操作,或者使更改日志成为我可以访问的参数.任何帮助表示赞赏.
我无法理解为什么NSLog在代码运行时报告"dog".我理解保留计数和dealloc等我错过了什么简单的事情?
NSString *newFoo = @"dog";
 [newFoo release];
 NSLog(newFoo);