Swift UITableView: Comment Charger des données à partir de JSON
Je suis débutant en Swift et voudrais un peu d'aide pour ma première application.J'espère que je ne peux expliquer, c'est bien. Je suis l'élaboration et de l'application qui est en cours de chargement informations à partir d'un Fichier JSON. Quelqu'un de vous sais comment puis-je remplir cette information dans une INTERFACE utilisateur Affichage de Tableau de Cellules. J'ai développé 3 contrôleurs de vue, dans le premier que j'ai un bouton que l'utilisateur doit appuyer sur et la 2ème Tableview contrôleur sera ouvert. J'ai regardé des tutoriels pour le remplir, mais il semble que cela ne fonctionne pas. Le 3e est la Vue de la Table de Cellules.permettez-moi de vous montrer:
class TableViewController: UITableViewController {
@IBOutlet weak var Bar: UIToolbar!
var TableData:Array< String > = Array < String >()
let ImageList = ["",""]
var TitleList = ["",""]
let DescriptionList = ["",""]
J'ai à afficher dans les cellules de l'Image, le Titre et la Description.
voici le Fichier JSON:
{
“fruits” : [
{
“Name” : “Fruit1”,
“Picture”:”http://www.starpropertiesindia.com/blog/wp- content/uploads/2016/08/kochi1.jpg”,
“Description”:””,
},
{
“Name” : “Fruit2”,
“Picture”:”http://www.starpropertiesindia.com/blog/wp-content/uploads/2016/08/kochi1.jpg”,
“Description”:””,
},
Je serais très reconnaissante si quelqu'un me conseiller comment faire pour continuer..
Préparer pour segue dans la nouvelle vue:
@IBOutlet weak var CellDescription: UILabel!
@IBOutlet weak var CellImage: UIImageView!
@IBOutlet weak var CellTitle: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
//Initialization code
}
- J'ai essayé beaucoup de choses, mais je ne suis pas sûr que dois-je montrer, car il semble qu'ils sont mauvais
- Pouvez-vous utiliser des bibliothèques tierces?
- J'utilise SwiftyJSON
- Grand. S'il vous plaît ajouter EVReflection dans votre projet, et je suis de vous aider tout le chemin. ok?
- github.com/evermeer/EVReflection
- Super, mais qu'est-ce que EVReflection et comment puis-je l'ajouter?
- Voir le lien. Installer le boîtier.le lien a l'instruction
- Je vous recommande de regarder SwiftyJSON comme @Dakata dit. C'est le moyen le plus facile de lire le JSON dans votre cas. Si vous utilisez CocoaPods, il est très facile à mettre en place: cocoapods.org/?q=swiftyjson
- Puis-je utiliser à la place de EVReflection swifty json?
- Je n'ai aucun problème si Dakata me montrer un peu de code. @Jordi
- Avez-vous un e-mail. Il sera plus facile je peux vous Montrer l'ensemble du projet et de ce que j'ai fait?
- avez-vous parser le json à l'aide de swiftyJson? Me montrer le code.
- Je peux vous envoyer l'ensemble du projet, il sera plus facile
- vous n'avez pas mon adresse mail 🙂 comment ça va?
- oui, je ne l'ai pas. C'est pourquoi j'ai demandé avez-vous une adresse mail où je peux vous l'envoyer ou si vous préférez d'autres services?
- Si vous pouvez la télécharger sur github , il va être très intelligent 🙂
- Je n'ai pas de compte, avez-vous skype?
- avez-vous eu la réponse que tu voulais?
- non, je n'ai pas 🙁 je ne sais pas quoi d'autre dois-je fournir pour vous, car le reste de mon code est faux, il est inutile de le montrer ici
- Non, vous devez le montrer. Votre problème peut être résolu beaucoup plus facile si vous montrez votre code et d'expliquer quel est le problème avec elle.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, ne pas utiliser de multiples tableaux pour la source de données. Ils sont très sujettes à l'erreur parce que vous êtes responsable de garder le nombre d'éléments à synchroniser.
Depuis Swift est un langage orienté-objet l'utilisation d'une coutume struct comme modèle
Déclarer un vide Swift tableau de
Fruit
comme source de données tableau. Fondamentalement, l'utilisation toujours Swift natif types de collection (plutôt queNSArray
etNSDictionary
) parce qu'ils contiennent les informations de type.Créer une fonction pour parser le JSON et recharger la vue de la table. Le code suppose que le fichier JSON est nommé
jsonFile.json
et est situé dans le bundle de l'application. De plus, il utilise leSwiftyJSON
bibliothèque.dans
viewWillAppear
appel de la fonction d'analyseCe sont la vue de la table de source de données délégué méthodes en supposant que l'identifiant de la cellule est
Cell
et le style de la cellule estRight Detail
ouSubtitle
Edit:
Dans Swift 4, tout est devenu beaucoup plus court et plus pratique. Le changement le plus important est de supprimer
SwiftyJSON
et l'utilisationDecodable
TableViewController
vous n'avez pas besoin d'un segue mais sous-classement de la cellule dans Interface Builder. De toute façon le code pour télécharger l'image en mode asynchrone est au-delà de la question, regarde le exemple de code par ApplecontentsOfURL
la réalité. Comme mentionné précédemment, c'est au-delà de la question. Regardez l'exemple de code que j'ai lié.Vous avez obtenu les Données Json, Juste besoin de le mettre dans un tableau et de les charger dans la vue tableau comme ceci:
Essayez Cela, il va vous Aider à