0
我有四個tabViewItems,具有標識符1,2,3,並分配4 IB,然後設置爲常數,即:NSTabViewItem標識符是NSNumber的在一個範圍內,的NSString在另一個
#define kTabViewSubject 1
當這tabViewItem被選中的測試,它的工作原理治療標識符作爲NSNumbers,像這樣:
if ([self.drawerTabView selectedTabViewItem] identifier] intValue]]] == kTabViewSubject])
// do something
但選擇tabViewItem的時候,如果我把相同的標識符作爲一個NSNumber,像這樣...
[self.drawerTabView selectTabViewItemWithIdentifier:[NSNumber numberWithInt:kTabViewSubject]];
...標識符被評估爲一個巨大的類似地址的數字,我得到一個「越界」異常。
什麼工作是把標識符作爲一個NSString,像這樣的:「ID」
#define kTabViewSubjectX @"1"
// --
[self.drawerTabView selectTabViewItemWithIdentifier:kTabViewSubjectX];
我明白NSTabViewItem的標識符屬性被設置爲一個通用的,但爲什麼它歸類不一致?