Swift Cloudkit数据检索:为什么致命错误:在读取数据库记录

时间:2017-02-02 00:46:37

标签: swift cloudkit

我正在使用swift和cloudkit。

我从cloudkit服务器获取数据并尝试在tableview中显示它。从阵列到表格单元格读取CKrecord时出错:

  

致命错误:在解包可选值时意外发现nil

错误行是:let name = ckRecord.object(forKey: "code") as! String

请帮忙 - 下面是我的代码:

var Saveddata: [CKRecord] = []

@IBAction func getAlbum(_ sender: AnyObject) {            
   let Container = CKContainer.default()
   let database = Container.publicCloudDatabase
   let predicate = NSPredicate(value: true)
   let query = CKQuery(recordType: "Photos", predicate: predicate)       
   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)                    
          }  //D
          let Queue = OperationQueue.main
          Queue.addOperation() { //E
             self.tableview.reloadData()
          }  //E
        }  //C
      }  //A        
    } //G 
  }

  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let ckRecord = Saveddata[indexPath.row]

    //ERROR appears when executing below line////////
    let name = ckRecord.object(forKey: "code") as! String
    cell.textLabel!.text  = name
    return cell
 }

 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.Saveddata.count            
 }

0 个答案:

没有答案