1⃣写一个简单的tableview模版,显示数组里的数据
var ObjectArray = [String]()
var i = 0 override func viewDidLoad() { super.viewDidLoad() for i = 0 ; i<10 ; i++ { self.ObjectArray.append("\(i)") } }override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1 } override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return ObjectArray.count } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) cell.textLabel?.text = "这是第\(self.ObjectArray[indexPath.row])行" return cell }
2⃣添加MJRefresh,并创建桥接文件
将MJRefresh拖到项目中:
创建桥接文件:
new file->source->Header file
在项目-building settings中查找“bridging”设置添加的头文件的路径
并在.h文件中引入第三方库
#import "MJRefresh.h"
3⃣调用刷新方法
override func viewDidLoad() {
super.viewDidLoad() for i = 0 ; i<10 ; i++ { self.ObjectArray.append("\(i)") } self.tableView.addLegendHeaderWithRefreshingTarget(self,refreshingAction: "headRefresh") self.tableView.addGifFooterWithRefreshingTarget(self, refreshingAction: "footRefresh") } func headRefresh(){ self.Delay(1, closure: { () -> () in self.ObjectArray.removeAll(keepCapacity: false) for self.i = 0 ; self.i < 10 ; self.i++ { self.ObjectArray.append("\(self.i)") } self.tableView.header.endRefreshing() self.tableView.reloadData() //self.head.stopRefresh() }) } func footRefresh(){ self.Delay(1, closure: { () -> () in let j = self.i + 10 for self.i = 10 ; self.i < j ; self.i++ { self.ObjectArray.append("\(self.i)") } self.tableView.footer.endRefreshing() self.tableView.reloadData() }) } //延迟函数,模拟服务器延迟 func Delay(time:Double,closure:()->()){ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(time * Double(NSEC_PER_SEC))), dispatch_get_main_queue(), closure) }