NMPaginator 1.0.0

NMPaginator 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 自定义
发布最后发布2014年12月

Nicolas Mondollot 维护。



  • 作者:
  • Nicolas Mondollot

NMPaginator 是一个简单的 Objective-C 类,可为您处理分页。它简化了从使用 pageper_page 参数的客户服务网络获取结果的显示。

例如 Flickr API

http://api.flickr.com/services/rest/?method=flickr.photos.search&text=beach&per_page=20&page=2

示例项目还包括一个 UITableView,当您向下滚动时会自动加载下一页的结果。

示例

fllickr API 示例的代码位于示例项目内。

NMPaginator with Flickr API

如何安装

手动安装

NMPaginator.hNMPaginator.m 复制到您的项目中。就这样。

如何使用

自定义分页器类

您需要子类化 NMPaginator 并实现 fetchResultsWithPage:pageSize: 方法。

// MyPaginator.h
#import <Foundation/Foundation.h>
#import "NMPaginator.h"
@interface MyPaginator : NMPaginator
@end

// MyPaginator.m
#import "MyPaginator.h"
@interface MyPaginator() {
}
- (void)receivedResults:(NSArray *)results total:(NSInteger)total;
- (void)failed;
@end

@implementation MyPaginator
- (void)fetchResultsWithPage:(NSInteger)page pageSize:(NSInteger)pageSize
{
    // you code goes here
    // once you receive the results for the current page, just call [self receivedResults:results total:total];
}
@end

ViewController

在您的 ViewController 中,您可以像这样实例化分页器:

// ViewController.m
self.myPaginator = [[MyPaginator alloc] initWithPageSize:10 delegate:self];

然后像这样请求结果:

// ViewController.m
[self.myPaginator fetchNextPage];

您将通过代理方法获取结果。

// ViewController.m
- (void)paginator:(id)paginator didReceiveResults:(NSArray *)results 
{
    // handle new results
}

致谢

我叫 Nicolas Mondollot,您可以在 twitter 上关注我。

为了展示 NMPaginator,我使用了来自伟大的 Stanford CS193P 课程 的 FlickFetcher 类。

许可证

你可以随意使用这段代码(商业或免费)。不过,署名会更好。