Tableau de struct en Swift
Itération des éléments de rendement erreur
ne pouvait pas trouver un membre "convertFromStringInterpolationSegment'
println("\(contacts[count].name)")"
, tandis que les élément de la liste des tirages fine.
Ce qui me manque?
struct Person {
var name: String
var surname: String
var phone: String
var isCustomer: Bool
init(name: String, surname: String, phone: String, isCustomer: Bool)
{
self.name = name
self.surname = surname
self.phone = phone
self.isCustomer = isCustomer
}
}
var contacts: [Person] = []
var person1: Person = Person(name: "Jack", surname: "Johnson", phone: "7827493", isCustomer: false)
contacts.append(person1)
var count: Int = 0
for count in contacts {
println("\(contacts[count].name)") //here's where I get an error
}
println(contacts[0].name) // prints just fine - "Jack"
Vous devez vous connecter pour publier un commentaire.
La
for-in
boucle itère sur une collection d'éléments, et fournit de l'élément réel et non son index à chaque itération. Si votre boucle doit être réécrit comme suit:Noter que cette ligne:
n'a pas d'effet dans votre code, parce que la
count
variable dans lefor-in
est redéfini et visible par le bloc de code imbriqué à l'intérieur de la boucle.Si vous voulez toujours jouer avec des index, alors vous devez modifier votre boucle tant que:
ou
Dernier, si vous avez besoin à la fois l'indice et la valeur, peut-être la façon la plus facile est par le biais de la
enumerate
fonction globale, qui renvoie une liste de (index, valeur) des n-uplets:Tout d'abord, vous ne devriez pas utiliser la fonction init() dans la structure, parce que Le
la structure dispose d'initialisation par défaut.Alors dans ce bloc de code:
votre variable "nombre" n'est pas entier, il est de type "Personne".
Essayez ceci:
J'espère que je vous aide, et désolé pour mon mauvais anglais:D