table設定可編輯刪除cell時,刪除最後一條資料來源不同機型閃退的問題
專案中遇到一個問題,那就是在iPhone5s上面,刪除表的最後一條資料來源會閃退,別的機型上是沒問題的
#pragma mark - 設定指定哪些cell可以被編輯
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
if (self.dataSource.count > 0) {
MyMessageModel * model = self.dataSource[indexPath.row];
if ([model.read_type isEqualToString:@"0"]) {
return NO;
}else{
return YES;
}
}
return NO;
}
現在問題就是,每次刪除資料來源的最後一條訊息時候,就是崩潰到這個 設定可編輯方法裡的
MyMessageModel * model = self.dataSource[indexPath.row];
每次reson 都是 資料越界,哪為什麼別的機型就不會csah呢?
最終是新增了一個資料的分類,解決了在 iPhone5S 機刪除閃退的問題,來貼一下程式碼,
分類 .h ------------
#import
@interface NSArray (SYFExtension)
-(id)objectAtIndexCheck:(NSInteger)index;
@end
分類 .m ------------
#import "NSArray+SYFExtension.h"
@implementation NSArray (SYFExtension)
-(id)objectAtIndexCheck:(NSInteger)index{
if (index >= [self count]) {
return nil;
}
id value = [self objectAtIndex:index];
if (value == [NSNull null]) {
return nil;
}
return value;
}
@end
在控制器設定可編輯狀態的方法裡面,把原來的
MyMessageModel * model = self.dataSource[indexPath.row];
替換成
//objectAtIndexCheck 類別新增方法
MyMessageModel * model = [self.dataSource objectAtIndexCheck:indexPath.row];
最終測試,不再會cash.
相關文章
- 可編輯選擇、刪除條目的ListViewView
- vue對table的某一行的資料進行編輯,刪除操作Vue
- truncate table 誤刪除資料後的恢復
- 臨時表空間資料刪除問題
- Oracle閃回刪除恢復誤刪資料Oracle
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- Laravel 中利用『模型事件』來實現刪除資料時的連帶刪除Laravel模型事件
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄) 轉Oracle
- 【轉】oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- PUBLIC資料庫鏈無法刪除的問題(一)資料庫
- Oracle閃回刪除Oracle
- javascript刪除字串中的最後一個字元JavaScript字串字元
- collectionView--編輯全選刪除View
- Oracle 刪除重複資料只留一條Oracle
- 回閃查詢查詢刪除的資料
- 前端刪除多條資料,如何將多個被刪除項指定key傳給後臺前端
- C#刪除字串最後一個字元C#字串字元
- JavaScript刪除陣列最後一個元素JavaScript陣列
- css刪除最後一個邊界線CSS
- JavaScript 刪除陣列最後一個元素JavaScript陣列
- excel刪除重複資料保留一條 如何刪掉重複資料只留一條Excel
- 閃回查詢找到誤刪除資料
- 關於刪除資料的快慢問題的分析
- Docker定時刪除none映象DockerNone
- 聊聊PG資料庫的防誤刪除問題資料庫
- mysql刪除一條記錄MySql
- 仿 iOS 列表的編輯功能 – 刪除篇iOS
- 仿 iOS 列表的編輯功能 - 刪除篇iOS
- jquery table 的新增和刪除jQuery
- 【RAC】刪除RAC資料庫節點(一)——刪除資料庫例項資料庫
- oracle 同樣資料刪除(僅僅留一條)Oracle
- delete/truncate刪除資料索引空間問題delete索引
- 刪除資料夾時顯示在另一程式開啟怎麼刪除
- 閃回刪除技術:
- JavaScript刪除table表格中行JavaScript
- JavaScript刪除table表格列JavaScript
- 閃回刪除、閃回查詢
- 網友遇到的問題---資料被莫名的刪除