J'essaie de charger, puis modifier et réenregistrer un tableau.CloudKit aucune erreur facultative
Code est ici, modifier func est du haut:
func modifyUserGroupsRequestee(){
print("step2")
acceptedUsersArray.append(groupNameLbl.text!)
//error
userGroupRecordToUpdate.setObject(acceptedUsersArray as CKRecordValue?, forKey: "userGroups")
database.save(recordToUpdate) { (savedRecord, error) in
if error != nil{
print(error.debugDescription)
}else{
print("SAVED RECORD")
}
}
}
func resaveUserGroups(){
print(addedUser)
print("step1")
// add group to requestees user groups
let pred = NSPredicate(format: "username = %@", "\(addedUser)")
let query = CKQuery(recordType: "PersonalUser", predicate: pred)
let operation = CKQueryOperation(query: query)
//operation.resultsLimit = CKQueryOperationMaximumResults
operation.recordFetchedBlock = { (record: CKRecord!) in
if record != nil{
self.userGroupRecordToUpdate = record
// self.acceptedUsersArray = (record.object(forKey: "userGroups") as! Array)
print("usergroup names:: \(self.acceptedUsersArray)")
if let acceptedUserArrays = record.object(forKey: "userGroups") as? [String] {
// self.feedTableView.reloadData()
self.acceptedUsersArray = acceptedUserArrays
print("looks like we r going forward")
self.modifyUserGroupsRequestee()
// }
//self.feedTableView.reloadData()
print(groupNames.count)
print(self.acceptedUsersArray)
}
}
database.add(operation)
//self.tableView.reloadData()
// print(leaderboardInfo.count)
}
}
La fonction imprime step1 mais jamais arrive à l'étape 2. Dans la fonction bottom, j'ai une instruction if let que j'ai essayé de créer pour résoudre mon problème zéro (j'ai commenté mon code précédent au-dessus de cette ligne self.acceptedUsersArray ... De toute façon, je crois implémenter incorrectement l'instruction if let, car . les données sont chargées, même si il y a des données dans le kit nuage
Et j'ai mes dossiers cloudKit utilisateur personnel mis en place, voici une photo:
J'ai déplacé la ligne d'une opération mais cela n'a pas changé le fait que le code à l'intérieur de l'instruction if let n'est pas appelé même si cela devrait être parce que ce n'est pas nul. –
Qu'est-ce que vous obtenez si vous mettez 'print (record)' juste avant le if-let? – OOPer
J'ai besoin de poster cet extrait de code séparément parce que c'est trop grand ... Facultatif ( { –