struct initialisation de tableau dans Swift
En continuant à jouer autour de Swift et d'essayer de convertir quelque chose à partir de la C monde et ont été coincé à essayer divers syntaxe. J'ai quelques données fixes, je veux initialiser une structure de tableau. Voici comment j'ai wold le faire en C, mais je ne peux pas le comprendre dans Swift donc, plutôt que de garder deviner, je vais demander à ceux qui en savent davantage. Voici mon code C.
#include <stdio.h>
typedef struct my_data {
const char *company;
const char *city;
const char *state;
float latitude;
float longitude;
} my_data;
int main() {
my_data data[2]={
{ "Joes Crab Shack", "Miami", "FL", 30.316599, -119.050254},
{ "Jims Crab Shack", "Los Angeles", "CA", 35.316599, -112.050254}
};
}
Dans Swift que je peux en créer un similaire struct...
struct my_data {
var company = String();
var city = String();
var state = String();
var latitude:Float;
var longitude:Float;
}
Maintenant je suis coincé dans la façon de déclarer et d'initialiser les données fixes, comme je le fais dans C. Deviner qu'il est quelque chose de simple et d'obtenir la syntaxe de droit m'a déconcerté. J'aimerais garder l'initialisation de style dans le format similaire à C depuis que j'ai peut facilement extraire et mettre en forme ces données à partir d'un fichier.
source d'informationauteur Kokanee
Vous devez vous connecter pour publier un commentaire.
Une option pourrait être pour vous d'utiliser à la place d'un Tableau de n-Uplets:
Maintenant les différents éléments de votre Tuple sont nommés et peuvent être utilisés par les étiquettes, même si elles n'étaient pas utilisées pour créer une instance de la n-uplet en premier lieu:
Cependant, cela ne vous donne pas le Type de la bonté que vous sortez d'une Structure... en Swift toutes les Structures d'obtenir automatiquement ce qu'on appelle un "membre-sage de l'initialiseur", qui vous oblige à les initialiser comme si, en utilisant les noms des membres comme argument étiquettes (et dans l'ordre dans lequel elles sont déclarées dans la Structure):
Vous êtes en mesure de définir votre propre
init()
méthode pour votre Structure, cependant, si vous souhaitez utiliser un initialiseur qui est le mieux adapté à votre objectif.Ainsi, pour donner vous-même un Tableau de Structures à l'aide de la valeur par défaut états-sage de l'initialiseur il vous suffit de faire:
Comme ceci (à noter que j'ai changé le nom de votre structure pour correspondre à Swift lignes directrices de style):
j.s.com vous avez écrit:
mais je l'ai essayé et ça ne marche pas.
Pour moi fonctionne très bien celui-ci:
//pouvez ajouter la structure comme ceci
//ou comme ce
//pour obtenir un élément
//pour modifier un élément
Ici, vous obtenez un petit exemple de comment gérer des tableaux de structure dans Swift:
D'abord la définition de la Structure:
En ajoutant un élément à la structure
Et l'évolution fr élément existant:
Acclamations