在queryForTable()中使用UISwitch更改parse.com类

时间:2016-01-10 16:32:34

标签: swift uiswitch

我试图使用UISwitch在解析类之间切换。 我在解析时有两个类mainClass和recentClass,我试图通过使用语法在它们之间切换。

我已经宣布了查询 在这个类的顶部。

  @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我已编辑但仍然没有工作。

1 个答案:

答案 0 :(得分:0)

您在切换功能中重新声明query,因此它不会更改您的类变量。在func中的let前面取出varquery

此外,在dispatch内,您可能需要放置self.query

switchChanged中调用queryForTable func:

override func queryForTable() -> PFQuery {

    switchChanged(barSwitch)

    if (objects?.count == 0) {
        query.cachePolicy = PFCachePolicy.CacheThenNetwork
    }
    query.orderByAscending("SNo")

    return query
}