我有一个控制器,它作为两个滚动视图的委托,放置在由前面提到的视图控制器管理的视图中。
要区分两个滚动视图,我正在尝试使用switch
语句(而不是简单的指针与if
语句比较)。我已将滚动视图标记为0和1,如此
NSUInteger const kFirstScrollView = 0;
NSUInteger const kSecondScrollView = 1;
当我尝试在switch语句中使用这些常量时,编译器会说case语句不是常量。
switch (scrollView.tag) {
case kFirstScrollView: {
// do stuff
}
case kSecondScrollView: {
// do stuff
}
}
我做错了什么?
答案 0 :(得分:16)
这可以通过使用匿名(但不一定是)enum
类型来解决:
enum {
kFirstScrollView = 0,
kSecondScrollView = 1
};
switch (scrollView.tag) {
case kFirstScrollView: {
// do stuff
}
case kSecondScrollView: {
// do stuff
}
}
这将编译没有错误。
答案 1 :(得分:8)