Update README.md with syntax color.
This commit is contained in:
parent
dd5f15055d
commit
16d661488a
120
README.md
120
README.md
|
@ -64,41 +64,44 @@ Just #import the UIImageView+WebCache.h header, and call the setImageWithURL:pla
|
||||||
method from the tableView:cellForRowAtIndexPath: UITableViewDataSource method. Everything will be
|
method from the tableView:cellForRowAtIndexPath: UITableViewDataSource method. Everything will be
|
||||||
handled for you, from async downloads to caching management.
|
handled for you, from async downloads to caching management.
|
||||||
|
|
||||||
#import "UIImageView+WebCache.h"
|
```objective-c
|
||||||
|
#import "UIImageView+WebCache.h"
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
||||||
|
{
|
||||||
|
static NSString *MyIdentifier = @"MyIdentifier";
|
||||||
|
|
||||||
|
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
|
||||||
|
|
||||||
|
if (cell == nil)
|
||||||
{
|
{
|
||||||
static NSString *MyIdentifier = @"MyIdentifier";
|
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
|
||||||
|
reuseIdentifier:MyIdentifier] autorelease];
|
||||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
|
|
||||||
|
|
||||||
if (cell == nil)
|
|
||||||
{
|
|
||||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
|
|
||||||
reuseIdentifier:MyIdentifier] autorelease];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Here we use the new provided setImageWithURL: method to load the web image
|
|
||||||
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
|
|
||||||
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
|
|
||||||
|
|
||||||
cell.textLabel.text = @"My Text";
|
|
||||||
return cell;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Here we use the new provided setImageWithURL: method to load the web image
|
||||||
|
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
|
||||||
|
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
|
||||||
|
|
||||||
|
cell.textLabel.text = @"My Text";
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Using blocks
|
### Using blocks
|
||||||
|
|
||||||
If your project's deployement target is set to iOS 4+, you may want to use the success/failure blocks to be
|
If your project's deployement target is set to iOS 4+, you may want to use the success/failure blocks to be
|
||||||
notified when image have been retrieved from cache.
|
notified when image have been retrieved from cache.
|
||||||
|
```objective-c
|
||||||
// Here we use the new provided setImageWithURL: method to load the web image
|
// Here we use the new provided setImageWithURL: method to load the web image
|
||||||
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
|
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
|
||||||
placeholderImage:[UIImage imageNamed:@"placeholder.png"]
|
placeholderImage:[UIImage imageNamed:@"placeholder.png"]
|
||||||
success:^(UIImage *image) {... success code here ...}
|
success:^(UIImage *image) {... success code here ...}
|
||||||
failure:^(NSError *error) {... failure code here ...}];
|
failure:^(NSError *error) {... failure code here ...}];
|
||||||
];
|
];
|
||||||
|
```
|
||||||
|
|
||||||
Note: neither your success nor failure block will be call if your image request is canceled before completion.
|
Note: neither your success nor failure block will be call if your image request is canceled before completion.
|
||||||
|
|
||||||
|
@ -110,34 +113,39 @@ from web image downloading with caching in another context than a UIView (ie: wi
|
||||||
|
|
||||||
Here is a simple example of how to use SDWebImageManager:
|
Here is a simple example of how to use SDWebImageManager:
|
||||||
|
|
||||||
SDWebImageManager *manager = [SDWebImageManager sharedManager];
|
```objective-c
|
||||||
|
SDWebImageManager *manager = [SDWebImageManager sharedManager];
|
||||||
|
|
||||||
UIImage *cachedImage = [manager imageWithURL:url];
|
UIImage *cachedImage = [manager imageWithURL:url];
|
||||||
|
|
||||||
if (cachedImage)
|
if (cachedImage)
|
||||||
{
|
{
|
||||||
// Use the cached image immediatly
|
// Use the cached image immediatly
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Start an async download
|
// Start an async download
|
||||||
[manager downloadWithURL:url delegate:self];
|
[manager downloadWithURL:url delegate:self];
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Your class will have to implement the SDWebImageManagerDelegate protocol, and to implement the
|
Your class will have to implement the SDWebImageManagerDelegate protocol, and to implement the
|
||||||
webImageManager:didFinishWithImage: method from this protocol:
|
webImageManager:didFinishWithImage: method from this protocol:
|
||||||
|
|
||||||
- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image
|
```objective-c
|
||||||
{
|
- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image
|
||||||
// Do something with the downloaded image
|
{
|
||||||
}
|
// Do something with the downloaded image
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Using Asynchronous Image Downloader Independently
|
### Using Asynchronous Image Downloader Independently
|
||||||
|
|
||||||
It is possible to use the async image downloader independently. You just have to create an instance
|
It is possible to use the async image downloader independently. You just have to create an instance
|
||||||
of SDWebImageDownloader using its convenience constructor downloaderWithURL:delegate:.
|
of SDWebImageDownloader using its convenience constructor downloaderWithURL:delegate:.
|
||||||
|
```objective-c
|
||||||
downloader = [SDWebImageDownloader downloaderWithURL:url delegate:self];
|
downloader = [SDWebImageDownloader downloaderWithURL:url delegate:self];
|
||||||
|
```
|
||||||
|
|
||||||
The download will start immediately and the imageDownloader:didFinishWithImage: method from the
|
The download will start immediately and the imageDownloader:didFinishWithImage: method from the
|
||||||
SDWebImageDownloaderDelegate protocol will be called as soon as the download of image is completed.
|
SDWebImageDownloaderDelegate protocol will be called as soon as the download of image is completed.
|
||||||
|
@ -156,7 +164,9 @@ doesn't currently own the image. You are thus responsible for generating and cac
|
||||||
key is an application unique identifier for the image to cache. It is generally the absolute URL of
|
key is an application unique identifier for the image to cache. It is generally the absolute URL of
|
||||||
the image.
|
the image.
|
||||||
|
|
||||||
UIImage *myCachedImage = [[SDImageCache sharedImageCache] imageFromKey:myCacheKey];
|
```objective-c
|
||||||
|
UIImage *myCachedImage = [[SDImageCache sharedImageCache] imageFromKey:myCacheKey];
|
||||||
|
```
|
||||||
|
|
||||||
By default SDImageCache will lookup the disk cache if an image can't be found in the memory cache.
|
By default SDImageCache will lookup the disk cache if an image can't be found in the memory cache.
|
||||||
You can prevent this from happening by calling the alternative method imageFromKey:fromDisk: with a
|
You can prevent this from happening by calling the alternative method imageFromKey:fromDisk: with a
|
||||||
|
@ -164,7 +174,9 @@ negative second argument.
|
||||||
|
|
||||||
To store an image into the cache, you use the storeImage:forKey: method:
|
To store an image into the cache, you use the storeImage:forKey: method:
|
||||||
|
|
||||||
[[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey];
|
```objective-c
|
||||||
|
[[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey];
|
||||||
|
```
|
||||||
|
|
||||||
By default, the image will be stored in memory cache as well as on disk cache (asynchronously). If
|
By default, the image will be stored in memory cache as well as on disk cache (asynchronously). If
|
||||||
you want only the memory cache, use the alternative method storeImage:forKey:toDisk: with a negative
|
you want only the memory cache, use the alternative method storeImage:forKey:toDisk: with a negative
|
||||||
|
@ -179,17 +191,19 @@ takes the NSURL as input, and output a cache key NSString.
|
||||||
The following example sets a filter in the application delegate that will remove any query-string from
|
The following example sets a filter in the application delegate that will remove any query-string from
|
||||||
the URL before to use it as a cache key:
|
the URL before to use it as a cache key:
|
||||||
|
|
||||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
```objective-c
|
||||||
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||||
|
{
|
||||||
|
[[SDWebImageManager sharedManager] setCacheKeyFilter:^(NSURL *url)
|
||||||
{
|
{
|
||||||
[[SDWebImageManager sharedManager] setCacheKeyFilter:^(NSURL *url)
|
url = [[[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path] autorelease];
|
||||||
{
|
return [url absoluteString];
|
||||||
url = [[[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path] autorelease];
|
}];
|
||||||
return [url absoluteString];
|
|
||||||
}];
|
|
||||||
|
|
||||||
// Your app init code...
|
// Your app init code...
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Common Problems
|
Common Problems
|
||||||
|
|
Loading…
Reference in New Issue