我已经设置了自定义单元格的tableview。 customCell是一个类。 下面是代码,以获得更准确的视图:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSManagedObject *object = (NSManagedObject *)[entityArray objectAtIndex:indexPath.row];
NSString *cellIdentifier = [NSString stringWithFormat:@"asd%d", indexPath.row];
customCell *cell = [[tableView dequeueReusableCellWithIdentifier:cellIdentifier] autorelease];
//i tried setting a tag but dunno how to call it afterwards
[cell setTag:indexPath.row];
if (cell == nil) {
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"customCell" owner:self options:nil];
cell = [topLevelObjects objectAtIndex:0];
}
if (cell.imagen != nil) {
[[cell imageView] setImage:[cell imagen]];
} else { /* setup image... */ }
}
-(void) webImageReady:(WebImage *)downloadedImage imageView:(UIImageView *)imageView cellTag:(NSInteger *)cTag
{
// This is the part where i want to access cell.imagen, this is actually wrong...
[[[imageView.superview viewWithTag:cTag] imagen] setImagen:downloadedImage.Image];
[imageView setImage:downloadedImage.Image];
}
确定。现在我想从cellForRowAtIndexPath之外的方法访问(引用)cell.imagen属性,更确切地说是在下载完成的选择器(委托) 提前致谢!
答案 0 :(得分:1)
如果下载图片,请在cellForRowAtIndexPath
内进行,并在成功下载图片后[tableview setNeedsDisplay]
答案 1 :(得分:0)
你不应该引用单元格创建方法之外的单元格,你应该考虑单元格被渲染的情况,但是当获取图像被滚出去除了被释放或甚至重用于另一个单元格时,解决它的一种方法是有图像视图数组或类似的东西。
我认为您应该尝试使用已经在其中执行此操作的第三方库(称为Three20)。它有一个对象调用TTImageView,它获取一个URL并在后台加载它,它解决了所有的情况以及优化的缓存