我在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中删除悬挂和滞后问题。
答案 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