iCloud - Sending CKQuery results into a TableView

51 Views Asked by At

I've written this model swift file class and runs when calls without errors but doesn't fill any record field data into into the resultsValueArray array. What am I missing here?

import Foundation
import CloudKit

class TeamDataLoad {

let container = CloudKit.CKContainer(identifier: "ICloud.Brian-Naszradi.RosterTableView")

func rosterQuery(tName: String) -> Array<Any> {

var resultsValueArray = [] as Array
   
    let teamPredicate = NSPredicate(format: "teamName == %@", tName)
    print("teamPredicate: ", teamPredicate)
    
    
    let query = CKQuery(recordType: "team", predicate: teamPredicate)
    print("query: ", query)

    
    let qOperation = CKQueryOperation.init(query: query)

    qOperation.resultsLimit = 25

    qOperation.recordFetchedBlock = { record in
    
         let results = [record.value(forKey: "player") as! String]
        print("player is:", results)
         
        resultsValueArray.append(contentsOf: results)
       
        
         }  //recordFetchedBlock
    
      
    qOperation.queryCompletionBlock = { cursor, error in
        
      let queryCount = resultsValueArray.count
        
    } // qOperttion queryCompletionBlock
    
  CKContainer.default().publicCloudDatabase.add(qOperation)

  return resultsValueArray
    
  } //rosterQuery func


  }  // TeamDataLoad class

Any suggestions?

0

There are 0 best solutions below