swift我应该在哪里添加tableview.reload来从第一个按钮点击获取数据?

时间:2017-02-03 20:24:21

标签: swift cloudkit

下面是我从icloudkit获取图像的代码,但是现在我必须单击UI按钮“getAlbum”2次才能在表格视图中显示图像。所以我在一个错误的地方添加tableview.reload()m?请指教

@IBAction func getAlbum(_ sender: AnyObject) {

//Below line to dismiss the keyboard.
textEntercode.resignFirstResponder()

if (self.textEntercode.text == "")
    {
        let alert = UIAlertController(title: "No Code Entered", message: "Please enter photos code", preferredStyle: .alert)
        alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.cancel, handler: nil));
        //event handler with closure

        present(alert, animated: true, completion: nil);
  }
else    //G
 {

    // let code: Int64 = Int64(self.textEntercode.text!)!
    var photoCode = textEntercode.text!
    // convert the characters to upper case before getting data from database
    photoCode = photoCode.uppercased()
    var count = 0

    let Container = CKContainer.default()
    let database = Container.publicCloudDatabase
    let predicate = NSPredicate(value: true)
    let query = CKQuery(recordType: "Photos", predicate: predicate) //Photos    is table name in cloudkit server
    //-------Fetch the data---------------------

    database.perform(query, inZoneWith: nil) {  //A
        records, error in
        if error != nil {  //B
                 print(error?.localizedDescription ?? 10)
              }  // B
        else {  //C

              count = (records?.count)!
              print("countttttt \(count)")
              for myrecord in records!
                {  //D
                   self.Saveddata.append(myrecord as CKRecord)
                    //self.tableview.reloadData()
                 }  //D


            let Queue = OperationQueue.main
            Queue.addOperation() { //E
                self.tableview.reloadData()
            }  //E


        }  //C

        }  //A


    } //G

0 个答案:

没有答案