用queryForTable()更改parse.com类与UISwitch
问题描述:
我试图在使用UISwitch的解析类之间切换。 我有两个类mainClass和recentClass在解析,我试图通过使用语法在它们之间切换。用queryForTable()更改parse.com类与UISwitch
我已经在这个类的顶部声明了查询 。
@IBOutlet weak var barSwitch: UISwitch!
var query = PFQuery(className: "mainClass")
func switchChanged(barSwitch:UISwitch){
if (barSwitch.on == true) {
dispatch_async(dispatch_get_main_queue(),{() -> Void in
self.query = PFQuery(className: "recentClass")
self.tableView.reloadData()
}
) }
else {
dispatch_async(dispatch_get_main_queue(),{() -> Void in
self.query = PFQuery(className: "mainClass")
self.tableView.reloadData()
print("button was pressed")
}
) }
}
我不知道我怎么可以使用此开关在我queryForTable()
override func queryForTable() -> PFQuery {
if (objects?.count == 0)
{
query.cachePolicy = PFCachePolicy.CacheThenNetwork
}
query.orderByAscending("SNo")
return query
}
按@Tim我已经编辑但它仍然不工作。
答
你在switch函数中重新声明query
,所以它不会改变你的类变量。在函数中取出let
和var
在query
之前。
另外,在dispatch
内,您可能需要输入self.query
。
要呼叫queryForTable
的switchChanged
FUNC:
override func queryForTable() -> PFQuery {
switchChanged(barSwitch)
if (objects?.count == 0) {
query.cachePolicy = PFCachePolicy.CacheThenNetwork
}
query.orderByAscending("SNo")
return query
}
我都试过,但它不工作@Tim –
你可以发布你试过吗?我在答案中添加了一条评论。 – Tim
我上面编辑了我的代码。请建议 –