Take heart, Eric. Threads aren't all that bad -- coding is simple, hardest part is debugging (should your code executing in the new thread is doing something unadvisable), but if you keep it simple, it should be fairly straightforward.

Good luck,

Brad

On May 13, 2009, at 10:36 AM, Eric E. Dolecki wrote:

I have zero experience with threads, and while that does sound good, I don't
know how to do that yet.
Eric

On Wed, May 13, 2009 at 1:06 PM, Alex Kac <a...@webis.net> wrote:

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







--
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/brado%40bighillsoftware.com

This email sent to br...@bighillsoftware.com

_______________________________________________

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