2012-10-01 42 views
24

滾動具有零數據(零行)的選擇器視圖時,我收到斷言失敗。滾動選取器視圖時,我收到了這個崩潰。 iOS上的6測試選擇器視圖上的聲明失敗

*斷言故障 - [UITableViewRowData rectForRow:切入口:],/SourceCache/UIKit_Sim/UIKit-2372/UITableViewRowData.m:1630

*終止應用程序由於未捕獲的異常「NSInternalInconsistencyException」,原因:「在 無效索引路徑矩形請求(2個索引[0,0])」

任何幫助是明顯的。

+1

當每個人開始更新到iOS6時,這實際上只是顯示給我。在iOS版本發佈之前,我有與此相關的零崩潰。 – iwasrobbed

+0

我可以確認這只是iOS 6。 iOS 5不會因空的選取器視圖而崩潰。 – Vinnie

+0

Phew。啊哈...我想知道爲什麼我們的應用程序突然開始崩潰到處都是。感謝以上評論者注意! – Kalle

回答

39

我有同樣的問題

我不知道它之所以發生,

,但它可以固定在iOS6的(它是如何工作的iOS5中我沒有檢查):

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    if ([self getCount] == 0) 
     return 1; 
    return [self getCount]; 
} 

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent: (NSInteger)component reusingView:(UIView *)view { 
    if ([self getCount] == 0) 
     return nil; 
} 
+1

這樣做的伎倆,謝謝...奇怪,我不知道這是否是一個框架中的錯誤 –

+1

@INT:這是一個錯誤? – Manoj

+0

這是必須的.​​.....似乎很奇怪必須返回1時,它是空的 – iwasrobbed

0

答案其實很簡單!在自己遇到一些麻煩之後,我發現你必須將委託和數據源設置爲選擇器視圖所連接的視圖控制器。

+1

無需代理和數據源,它永遠不會成爲代理方法。 – Madhu