#define CLog( s, ... ) NSLog( @"%@", [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#define PO(x) CLog(@#x ": %@", x)
然后我做:
NSString * hello =[NSString stringWithFormat:@"%@, %@",theCatalogData.id,@(theCatalogData.images.count)];
PO(hello);
作品
当然,这个的简化版本很简单:
PO([NSString stringWithFormat:@"%@, %@",theCatalogData.id,@(theCatalogData.images.count)]);
那是行不通的。我想知道为什么。
没有紧急情况。没问题。无论如何,更长的等价物仍然有效。我只是想了解编译器如何解析宏以了解为什么事情不起作用。