2014-11-25 32 views
0

在iOS 8.1.1和8.1.2(iPhone 6)上使用我的應用程序時出現一個奇怪的問題。我的菜單單元中的某些組件(UISwitchUISemgentedControl)已消失。 我無法在模擬器上覆制它,因爲我沒有在xcode 6.1或6.1.1(GM種子)上找到iOS 8.1.1 sim,並且它在iOS 8.1(模擬器和設備)上都能正常工作UISwitch和UISegmentedControl在iOS 8.1.1上的單元中消失

In我UITableView我得到很多型動物的細胞類型,我在tableview:CellForRow:AtIndexPath:

[[NSBundle mainBundle] loadNibNamed:@"SubMenuCellSwitch" owner:self options:nil]; 

[[NSBundle mainBundle] loadNibNamed:@"SubMenuCellSegment" owner:self options:nil]; 

我在cells'xib使用自動佈局加載它們這個樣子,但我仍然得到同樣的問題,如果我將其刪除。 除開關和分段控制外,我的單元格的每個子視圖都可見(UIImageViewUILabel)!

有沒有人在iOS 8.1.1上遇到過類似的問題?或有一個可能的答案?

回答

0

該錯誤似乎是從iOS 8.1.1開始,我沒有輸入我的if聲明之一。

對象NSNumber上的對象失敗。

調試時,我得到這個在iOS 8.1:

(lldb) po quality 
{ 
    segment = 1; 
    title = "Quality"; 
} 
(lldb) p (BOOL)[quality valueForKey:@"segment"] 
(BOOL) $0 = YES 
(lldb) p (BOOL)[[quality valueForKey:@"segment"] boolValue] 
(BOOL) $1 = YES 

但這裏是我得到了iOS8.1.1

(lldb) po quality 
{ 
    segment = 1; 
    title = "Quality"; 
} 
(lldb) p (BOOL)[quality valueForKey:@"segment"] 
(BOOL) $2 = NO 
(lldb) p (BOOL)[[quality valueForKey:@"segment"] boolValue] 
(BOOL) $3 = YES 

和我if說法是:

if ([quality valueForKey:@"segment"]) { 

}