Ios 使用预处理器检查文件的类类型
我正在使用(叮当)宏 其中之一是一个Ios 使用预处理器检查文件的类类型,ios,objective-c,macros,clang,c-preprocessor,Ios,Objective C,Macros,Clang,C Preprocessor,我正在使用(叮当)宏 其中之一是一个#定义,用于涉及self.view.frame的宏,但有时我尝试在UIView类而不是UIViewController类中使用此宏,因此我需要使用self.frame而不是self.view.frame 现在我有一个主文件macros.h,我将它导入到每个方法文件中。与其每次使用#undef并在UIViewclass.m-file中重新定义一个宏,还有什么方法可以检查(clang)本身中的类类型,并根据类导入我的macros.h文件的类条件更改macros.h
#定义
,用于涉及self.view.frame
的宏,但有时我尝试在UIView
类而不是UIViewController
类中使用此宏,因此我需要使用self.frame
而不是self.view.frame
现在我有一个主文件macros.h
,我将它导入到每个方法文件中。与其每次使用#undef
并在UIView
class.m-file中重新定义一个宏,还有什么方法可以检查(clang)
本身中的类类型,并根据类导入我的macros.h
文件的类条件更改macros.h
中的定义
我知道clang中存在
#ifdef
,但我从未使用过它,也不知道如何使用它检查类类型。它必须是宏吗?您可以为UIView定义一个category方法,为UIViewController定义另一个category方法。@MartinR是的,这就是我现在使用的解决方案,我只是好奇是否有一种方法可以用宏来实现这一点;试图了解更多关于它们和它们的实用性。它必须是一个宏吗?您可以为UIView定义一个category方法,为UIViewController定义另一个category方法。@MartinR是的,这就是我现在使用的解决方案,我只是好奇是否有一种方法可以用宏来实现这一点;试图更多地了解它们及其效用。