0

我是 iPhone 编程的新手。在我的项目中,我有enum一个头文件:

enum SelectionType
{

    BookSelection,
    StartChapter,
    EndChapter
}SType;

在我的项目中,我想知道enum我现在有哪些。为此,我尝试了以下方法,但它不起作用:

NSLog(@"stype is %c",SType);

我应该使用哪个格式说明符来获取枚举NSLog

4

3 回答 3

2

你必须自己做。C没有这种反射能力。这是您可以使用的功能:

const char *STypeName(SType t)
{
    switch (t) {
    case BookSelection: return "BookSelection";
    case StartChapter: return "StartChapter";
    case EndChapter: return "EndChapter";
    default: return NULL;
    }
}

然后您可以调用该函数SelectionTypeName来获取名称:

SType stype = ...;
NSLog(@"stype = %s", STypeName(stype));
于 2012-06-29T05:03:25.493 回答
0
enum SelectionType {

BookSelection==0,//system provide the default value 0 for first enum then increase by one.
StartChapter==1,
EndChapter==2
}SType;
//then you check with 

if(sType==0)
  {
 //do something
}


else if(sType==1)
{

}

else
{

}
//you can use 
NSLog(@"Enum number=%i",sType);
于 2012-06-29T04:59:45.450 回答
0

enum 基本上是 int 数据类型。您应该使用 %d 格式说明符。

于 2012-06-29T04:59:56.910 回答