相关疑难解决方法(0)

将objective-c typedef转换为其等效字符串

假设我在.h文件中声明了一个typedef:

typedef enum {
  JSON,
  XML,
  Atom,
  RSS
} FormatType;
Run Code Online (Sandbox Code Playgroud)

我想构建一个将typedef的数值转换为字符串的函数.例如,如果邮件[self toString:JSON]已发送; 它会返回'JSON'.

该函数看起来像这样:

-(NSString *) toString:(FormatType)formatType {
  //need help here
  return [];
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果我尝试这种语法

[self toString:FormatType.JSON];
Run Code Online (Sandbox Code Playgroud)

要将typedef值传递给方法,我收到一个错误.我错过了什么?

c enums typedef objective-c

138
推荐指数
9
解决办法
12万
查看次数

宏返回它在C中给出的参数数量?

是否可以编写一个返回其参数数量的C宏?

我想做的事情:

foo(1) -> 1
foo(cat, dog) -> 2
foo(red, green, blue) -> 3
Run Code Online (Sandbox Code Playgroud)

如果可以以这样的方式定义这个宏以便它与##一起工作,那就更好了

foo(1) -> bar1(1)
foo(cat, dog) -> bar2(cat, dog)
foo(red, green, blue) -> car3(red, green, blue)
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑:我真的想要一个宏,而不是一个函数.使用功能的建议将被低估.

c c-preprocessor

22
推荐指数
3
解决办法
1万
查看次数

标签 统计

c ×2

c-preprocessor ×1

enums ×1

objective-c ×1

typedef ×1