在 queryForTable() 中使用 UISwitch 更改 parse.com class
change parse.com class with UISwitch in queryForTable()
我尝试使用 UISwitch 在解析 class 之间切换。
我在 parse 中有两个 classes mainClass 和 recentClass ,我试图通过使用语法在它们之间切换 .
我已经声明了查询
在 class 的顶部像这样。
@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 的说法,我已经进行了编辑,但仍然无法正常工作。
您 re-declaring query
在 switch 函数中,因此它不会更改您的 class 变量。去掉func.
中query
前面的let
和var
此外,在 dispatch
内,您可能需要输入 self.query
.
要在 queryForTable
中调用 switchChanged
函数:
override func queryForTable() -> PFQuery {
switchChanged(barSwitch)
if (objects?.count == 0) {
query.cachePolicy = PFCachePolicy.CacheThenNetwork
}
query.orderByAscending("SNo")
return query
}
我尝试使用 UISwitch 在解析 class 之间切换。 我在 parse 中有两个 classes mainClass 和 recentClass ,我试图通过使用语法在它们之间切换 .
我已经声明了查询 在 class 的顶部像这样。
@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 的说法,我已经进行了编辑,但仍然无法正常工作。
您 re-declaring query
在 switch 函数中,因此它不会更改您的 class 变量。去掉func.
query
前面的let
和var
此外,在 dispatch
内,您可能需要输入 self.query
.
要在 queryForTable
中调用 switchChanged
函数:
override func queryForTable() -> PFQuery {
switchChanged(barSwitch)
if (objects?.count == 0) {
query.cachePolicy = PFCachePolicy.CacheThenNetwork
}
query.orderByAscending("SNo")
return query
}