实现分页Sqlite部分逻辑
- 构造sql
- 计算总页数
- 设置每页大小和起始位置
- nextstep函数
代码
import Foundation
import UIKit
class RFPages {
var sql:String!
var total:Int!
var step:Int!
var page:Int!
var db:RFWordDB!
func initBySql(sql:String,step:Int){
self.db=MyManager.sharedInstance.wordDB
self.sql = sql
self.total = self.db.getPages(sqlStr: self.sql)/step
self.step = step
self.page = 0
}
func isHasNext()-> Bool {
if (self.page<=self.total){
return true
}
return false
}
func nextPage()-> [FRWord]{
var rs = [FRWord]()
if isHasNext(){
let qSql=self.sql + " limit \(self.step*1 ) offset \(self.page*self.step )"
print(qSql)
rs=self.db.getPageList(sql: qSql)
self.page=self.page+1
return rs
}
else{
return rs
}
}
}
往期精彩