【发布时间】:2013-09-04 17:57:44
【问题描述】:
我正在定义一个MACRO 函数来返回一个NSDictionary 对象。这是我尝试过的代码
#define GetDictionary(name,description,imageName) [NSDictionary dictionaryWithObjects:@[name,description,imageName] forKeys:@[ATTRIBUTE_TITLE,ATTRIBUTE_DESCRIPTION,ATTRIBUTE_IMAGE_NAME]]
#define GetDictionary(name,description,imageName) @{ATTRIBUTE_TITLE:name,ATTRIBUTE_DESCRIPTION:description,ATTRIBUTE_IMAGE_NAME:imageName}
但是当我尝试调用此方法来获取字典对象时,编译器会给出错误“void * 类型的集合元素不是目标 c 对象”。我们将不胜感激。
【问题讨论】:
-
显示调用这些宏的代码并显示宏中使用的其他常量的定义。
-
宏不是函数。它们是在编译时转换代码的机制。
标签: ios objective-c c macros