To fix the stutter, use a blank image for when the image doesn't exist - do the NSData dataWithContentsOfURL in another thread so that when it finishes it posts a notification which then the cell will listen to and refresh with the data cached. Its a bit more involved and you have to do of course deal with threads, but its so much smoother.

On May 13, 2009, at 8:23 AM, Eric E. Dolecki wrote:

Thank you everyone!!!! I have this working (locally in memory anyway)... I
had to tweak the method a little bit...

- (UIImage*)imageNamed:(NSString*)imageNamed cache:(BOOL)cache

{

 UIImage* retImage = [staticImageDictionary objectForKey:imageNamed];

 if (retImage == nil)

 {

  // Since my images are not local, fetch externally

//retImage = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]


           pathForResource:imageNamed ofType:nil]];

retImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL

           URLWithString:imageNamed]]];

if (cache)

{

if (staticImageDictionary == nil)

staticImageDictionary = [NSMutableDictionary new];

[staticImageDictionary setObject:retImage forKey:imageNamed];

}

}

return retImage;

}

And how I am calling it:

UIImage *ret = [self imageNamed:tmp cache:YES];

holder.image = ret;

Seems like it's working pretty well. Although there will always be some initial stutter on long lists in the table, at least once you've used it a little things smooth out. If I need to, I'll just use the file system or a
db. Thanks for all of the help here, I really appreciate it!

Eric


On Wed, May 13, 2009 at 12:58 AM, Michael Vannorsdel <mikev...@gmail.com >wrote:

The UIImage is the object (inherits from NSObject), so yes you'd pass the pointer to it as the dict's object. And objectForKey: will pass back that
pointer to the UIImage again.


On May 12, 2009, at 10:00 PM, Eric E. Dolecki wrote:

I like the cache without writing to the disk (for now anyway).

When you say the image object itself, I don't know exactly what you
mean...
if it's just a pointer to UIImage then I think I do know. So I could pair
the pointer with the URL key, is that right?


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/edolecki%40gmail.com

This email sent to edole...@gmail.com




--
http://ericd.net
Interactive design and development
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/alex%40webis.net

This email sent to a...@webis.net

Alex Kac - President and Founder
Web Information Solutions, Inc.

"Patience is the companion of wisdom."
--Anonymous




_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to