我的應用程序是反應太慢,我想我不會加載圖像異步,但即使我做的還是那麼的tableview讓我的控制器負載過慢。爲實現代碼如下的代碼如下:的tableview不那麼敏感
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
UILabel *productNameLbl = [[UILabel alloc] initWithFrame:CGRectMake(83, 8, 200,10)];
[productNameLbl setFont:[UIFont boldSystemFontOfSize:12.0]];
[productNameLbl setTag:20];
[cell.contentView addSubview:productNameLbl];
[productNameLbl release];
}
else {
AsyncImageView *oldImage = (AsyncImageView*)[cell.contentView viewWithTag:299];
[oldImage removeFromSuperview];
}
NSString *baseImageURL = @"http://samplesite.com/";
AsyncImageView* asyncImage = [[[AsyncImageView alloc] initWithFrame:CGRectMake(5, 5, 70, 70)] autorelease];
asyncImage.tag = 299;
NSMutableString *url = [[NSMutableString alloc] initWithString:@""];
NSString *iconUrl = [NSString stringWithString:[[[[[DataCollection sharedObject] categoryProducts ] productsList ]objectAtIndex:indexPath.row] productImage]];
[url appendString:baseImageURL];
[url appendString:iconUrl];
NSURL *imageURL = [NSURL URLWithString:url];
[asyncImage loadImageFromURL:imageURL];
[cell.contentView addSubview:asyncImage];
[(UILabel *) [cell viewWithTag:20] setText:[NSString stringWithString:[[[[[DataCollection sharedObject] categoryProducts ] productsList ]objectAtIndex:indexPath.row] productName]]];
//..... rest of the code
什麼其實我想要的是,首先加載視圖,然後可以加載數據的圖像和休息。 請告訴我如何讓我的tableview更具響應性。
良好的格式是你的朋友! – 2011-04-26 07:48:37
您正在泄漏的imageview的 [細胞setSelectedBackgroundView:[[ALLOC的UIImageView] initWithImage:[UIImage的imageNamed:@ 「highlightstrip.png」]]]; 這應該是: [細胞setSelectedBackgroundView:[[[ALLOC的UIImageView] initWithImage:[UIImage的imageNamed:@ 「highlightstrip.png」]自動釋放]]]; – rckoenes 2011-04-26 07:52:05