Tableview中印地语语言的滞后问题

时间:2016-06-11 13:47:24

标签: ios uitableview uilabel

我在Tableview的印地语中有很多标签和文字的文字。 印地语文本通过PHP Web服务获得。但在tableview中如此滞后。 不能顺利滚动。采取这么多悬挂和滞后。

这是我的cellForRowAtIndexPath和文本转换为可读格式代码:

- (UITableViewCell *)tableView:(UITableView *)tableview cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    NSString *cellIdentifier;
    GroupPost *post=(GroupPost*)[[arrMsg objectAtIndex:indexPath.section]objectAtIndex:indexPath.row];
    if([post.postType isEqualToString:@"0"]){
        cellIdentifier=@"GroupDetailCustomeCellTextOnly";
    }

    /////////Text Convert in URLDecode and get readble text....

    NSString *unicode=[[post.postContent URLDecode] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

     cell.lblPostContent.text =unicode;

     return cell;
}

//This Function Use For URLDecode....
- (NSString *)URLDecode {
    return [self URLDecodeUsingEncoding:NSUTF8StringEncoding];
}

- (NSString *)URLDecodeUsingEncoding:(NSStringEncoding)encoding {
    return (__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL,
                                             (__bridge CFStringRef)self,
                                             CFSTR(""),
                                             CFStringConvertNSStringEncodingToEncoding(encoding));
}

请指导我如何使滚动非常顺利,并从我的Tableview中删除悬挂和滞后问题。

1 个答案:

答案 0 :(得分:0)

dispatch_queue_t myQueue = dispatch_queue_create("My Queue",NULL);
dispatch_async(myQueue, ^{
    // Perform long running process
    NSMutableArray *unicodeArray = [[NSMutableArray alloc] init];
    for (i = 0; i < arrMsg.count ; i++)
    {
        GroupPost *post=(GroupPost*)[arrMsg objectAtIndex:i];
        NSString *unicode=[[post.postContent URLDecode] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

        [unicodeArray addObject:unicode];
    }
});

使用unicode数组作为数据源。试试让我知道发生了什么。将此代码放在viewDidLoad

dispatch_async(dispatch_get_main_queue(), ^{
        [tableView reload]
    });

将此代码放在viewDidAppear