我是 iPhone 编程的新手。在我的项目中,我有enum
一个头文件:
enum SelectionType
{
BookSelection,
StartChapter,
EndChapter
}SType;
在我的项目中,我想知道enum
我现在有哪些。为此,我尝试了以下方法,但它不起作用:
NSLog(@"stype is %c",SType);
我应该使用哪个格式说明符来获取枚举NSLog
?
我是 iPhone 编程的新手。在我的项目中,我有enum
一个头文件:
enum SelectionType
{
BookSelection,
StartChapter,
EndChapter
}SType;
在我的项目中,我想知道enum
我现在有哪些。为此,我尝试了以下方法,但它不起作用:
NSLog(@"stype is %c",SType);
我应该使用哪个格式说明符来获取枚举NSLog
?
你必须自己做。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));
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);
enum 基本上是 int 数据类型。您应该使用 %d 格式说明符。