EGOImageLoading
EGOImageLoading copied to clipboard
Switched hash for an implementation of MD5 cache to great unique URL keys
I ran into a problem where the inline static NSString* keyForURL(NSURL* url, NSString* style)
method was not returning a unique URL key for my images.
I noticed it when 3 different images with different URLs in one app all produced the same URL key using hash
therefore the wrong image was loaded from the cache.
I have added an NSString category (NSString+MD5) with a single method, - (NSString *)md5Hash;
that returns a MD5 hash of a string. I have swapped the origin use for hash
in EGOImageLoader.m for this new method.
I've done some testing and it seems to have solved my problem.
I haven't included any credit in the header of the NSString category as I found it on Stack Overflow where no credit was given.
I had this issue too with some long image URLs that contained a lot of query string parameters. Using the md5 hash instead does fix the problem. Thanks for the fix Adam! Hope it's merged into the enormego repo so others can avoid this.
it solved my problem thx! but I use %@ instead of %u
Would be great if this was merged. The problem with using -hash on NSString is demonstrated here: https://gist.github.com/3413755 Two strings have the same hash when the first, center, and last 32 chars are identical.