2014-10-17 92 views
0
UITableViewCell* cell=[_tableView cellForRowAtIndexPath:[_tableView indexPathForRowAtPoint:point]]; 

這存在的崩潰是我的應用程序崩潰,就行了。是否有任何提示或建議如何防止發生崩潰。如果索引超出數組,可能根本不會執行這段代碼。如何防止 - [__ NSArrayM objectAtIndex:]:指數1超出範圍[0 .. 0]在這種情況下

+0

拆分代碼爲兩行。檢查'indexPathForRowAtPoint'的返回值。 – rmaddy 2014-10-17 14:20:55

+0

我在想如果這個觀點不可見,會發生什麼? – gabbler 2014-10-17 14:25:19

回答

0

你不能保證indexPathForRowAtPoint:會返回一個有效的索引路徑,所以在使用前進行驗證:

NSIndexPath *indexPath = [_tableView indexPathForRowAtPoint:point]; 
if (indexPath) { 
    UITableViewCell* cell=[_tableView cellForRowAtIndexPath:indexPath]; 
} 
相關問題