iOS 9 UITableview重新加载时冻结(xcode 7)

时间:2015-11-01 08:42:14

标签: ios objective-c uitableview

我有要在tableview中加载的数组对象。我的tableview代表是

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 90;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return currentArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *cellIdentifier=@"LessonCellID";
    LessionTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier ];

    //210 231 246
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;


    if (indexPath.row%2==0) {
        [cell setBackgroundColor:[UIColor colorWithRed:238/255.0 green:238/255.0 blue:238/255.0 alpha:1.0]];
    }else{
        [cell setBackgroundColor:[UIColor colorWithRed:210/255.0 green:231/255.0 blue:246/255.0 alpha:1]];
    }

    cell.labelDate.text = [[currentArray objectAtIndex:indexPath.row] objectForKey:@"DateCaption"];
    cell.labelTitle.text = [[currentArray objectAtIndex:indexPath.row] objectForKey:@"Description"];
    return cell;
}

从服务器获取值后,我的代码

currentArray = [[NSMutableArray alloc] initWithArray:result];
[self.tableViewSubjects reloadData];

当我运行此代码时,我的应用程序冻结,我无法做任何事情。它阻止整个UI。如果我删除" reloadData"代码,然后没有更多的冻结,但我想将我的数据加载到tableview。所以我必须打电话给#34; reloadData"。

请有人帮我找到原因。

注意: 仅当我在UITableviewCell类上使用自定义单元格(LessionTableViewCell或任何自定义单元格)时才会出现此问题。我在故事板上有自定义单元格(在我的视图控制器笔尖中)并创建了' .h'和' .m'单独归档文件并在文件检查器上设置单元格类。

This is my Call tree in profiling

0 个答案:

没有答案