现在几乎每个ios应用程序都有类似于"Feed“选项的东西。编程通常包括从网络中获取图像,缓存它们,处理页面,“拉到更新选项”等等-所有的standart东西。
但看起来没有标准的解决方案吗?
请给我一些关于最佳实践的建议,我现在真的被困住了。
发布于 2012-03-27 19:59:00
这一个是非常容易进入拉刷新。
对于图像加载,我为UIImageView编写了以下类别:
// .h
@interface UIImageView (UIImageView_Load)
- (void)loadFrom:(NSURL *)url completion:(void (^)(UIImage *))completion;
@end
// .m
#import "UIImageView+Load.h"
#import <QuartzCore/QuartzCore.h>
@implementation UIImageView (UIImageView_Load)
- (void)loadFrom:(NSURL *)url completion:(void (^)(UIImage *))completion {
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (data) {
self.image = [UIImage imageWithData:data];
if (completion) completion(self.image);
}
}];
}
@end
// To use it when building a cell
//...
MyModelObject *myModelObject = [self.myModel objectAtIndex:indexPath.row];
if (myModelObject.image) {
cell.imageView.image = myModelObject.image;
} else {
NSURL *url = [NSURL urlWithString:myModelObject.imageUrl];
[cell.imageView loadFrom:url completion:^(UIImage *image) {
// cache it in the model
myModelObject.image = image;
cell.imageView.image = image;
}];
}
// ...发布于 2012-07-09 16:57:50
我是Leah的拉到刷新库的粉丝,也就是这个STableViewController,它处理拉到刷新以及无休止的向下滚动。
对于图像加载,尝试SDWebImage从DailyMotion应用程序。
https://stackoverflow.com/questions/9896347
复制相似问题