Objective c 如何使用一个函数打印不同类型的数据

Objective c 如何使用一个函数打印不同类型的数据,objective-c,macros,Objective C,Macros,它的灵感来自: 但是,我想要一个NSLog类型的函数,如果我这样做 这是我当前的宏 #define ELog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] ) #define DLog( s, ... ) ;;

它的灵感来自:

但是,我想要一个NSLog类型的函数,如果我这样做

这是我当前的宏

#define ELog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#define DLog( s, ... ) ;;
//#define CLog( s, ... ) ;
#define CLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#define CM( s, ... );// NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )

#define PO1(x) ELog(@#x ": %@", x)
#define PD(x) ELog(@#x ": %f", x)
#define PI(x) ELog(@#x ": %d", x)
我想要这样的东西但是如果我想要的话

POsomevariable,它将生成我想要的日志,与它是NSObject、double、float还是integer无关

我想我在哪里见过。我找了又找不到