Ne peut pas invoquer 'append' avec une liste d'arguments du type " (Chaîne de caractères?!)'
Je suis en train d'ajouter les noms d'utilisateur de l'Analyser dans un tableau d'affichage dans un UITableView, mais un message d'erreur quand je suis en ajoutant les noms d'utilisateur de mon tableau.
L'erreur que j'obtiens est: Ne peut pas invoquer 'append' avec une liste d'arguments du type " (Chaîne de caractères?!)'
Ce que je fais mal?
var usernames = [""]
func updateUsers() {
var query = PFUser.query()
query!.whereKey("username", notEqualTo: PFUser.currentUser()!.username!)
var fetchedUsers = query!.findObjects()
for fetchedUser in fetchedUsers! {
self.usernames.append(fetchedUser.username)
}
}
- Comment à propos de la déclaration du tableau comme ceci:
var usernames:[String] = []
Vous devez vous connecter pour publier un commentaire.
J'ai résolu mon problème. Je déclare le tableau comme un tableau vide et pour déballer l'option avec le code suivant:
PFUser.username
est une option, et vous ne pouvez pas ajouter une option dans unString
tableau en Swift. C'est parce que l'option peut êtrenil
, et un tableau de chaînes de Swift accepte uniquement les chaînes.Vous avez besoin de la force déballer l'option, ou de l'utilisation si-laissez-la syntaxe de l'ajouter si elle existe.
Force Déballer
Ou si-laissez
Plus que NRKirby mentionne dans les commentaires sur votre question, vous voudrez peut-être regarder à l'initialisation de la
usernames
tableau de manière différente. Au moment où le premier élément est une chaîne vide.