meu UITableView
está atrasado porque incluí uma imagem -
cell.imageView.image = [[UIImage alloc] initWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:[NSString stringWithFormat:@"image.png"]]];
Há algo de errado com o código?
Respostas:
0 para resposta № 1Você também pode usar [UIImage imageNamed:]
com cache interno incorporado. Isso é especialmente útil se você estiver reutilizando a mesma imagem várias vezes.
0 para resposta № 2
A alocação da imagem pode ser seu problema. Você provavelmente não deve fazê-lo no seu cellForRowAtIndexPath porque é uma operação cara. Dependendo do seu caso de uso, tente alocar e armazenar em cache as imagens antes ou algo assim
0 para resposta № 3
Você tem um vazamento de memória usando esse método. Você está chamando alloc
em um UIImage
e eu acho que você não o liberou (eu não tenho seu código, então não sei). Você deve apenas usar
[UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:
[NSString stringWithFormat:@"image.png"]]];
Ou, mais simplesmente, basta usar
[UIImage imageNamed:@"image.png"];