Swift 在queryForTable()中使用UISwitch更改parse.com类
我尝试使用UISwitch在parse类之间切换。 我在parse中有两个类mainClass和recentClass,我试图使用语法在它们之间切换 我已经声明了查询 像这样在班上名列前茅Swift 在queryForTable()中使用UISwitch更改parse.com类,swift,uiswitch,Swift,Uiswitch,我尝试使用UISwitch在parse类之间切换。 我在parse中有两个类mainClass和recentClass,我试图使用语法在它们之间切换 我已经声明了查询 像这样在班上名列前茅 @IBOutlet weak var barSwitch: UISwitch! var query = PFQuery(className: "mainClass") func switchChanged(barSwitch:UISwitch){ if (barSwitch.on
@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()中使用该开关
根据@Tim,我已经编辑了,但它仍然不起作用。您正在switch函数中声明
query
,因此它不会更改您的类变量。在func中的query
前面取出let
和var
另外,在分派
中,您可能需要放置self.query
在queryForTable
中调用开关changed
函数:
override func queryForTable() -> PFQuery {
switchChanged(barSwitch)
if (objects?.count == 0) {
query.cachePolicy = PFCachePolicy.CacheThenNetwork
}
query.orderByAscending("SNo")
return query
}
你能把你试过的贴出来吗?我在回答中加了一条评论。当你说它“不起作用”是什么意思?它是否始终保持在
mainClass
上,或者您是否收到错误?来自mainClass的数据仅显示.updated。当然,您也可以使用@IBAction func来设置查询
。如何使用它。我不明白
override func queryForTable() -> PFQuery {
switchChanged(barSwitch)
if (objects?.count == 0) {
query.cachePolicy = PFCachePolicy.CacheThenNetwork
}
query.orderByAscending("SNo")
return query
}