J'essaie d'utiliser Swift pour faire un appel GET à une API REST et j'ai essayé de suivre de nombreux tutoriels, mais je ne peux pas le comprendre. Soit parce que je n'arrive pas à comprendre comment traduire tous les Obj-C en Swift, soit parce que la moitié des méthodes n 'est plus obsolète. Quelqu'un sait-il comment passer l'appel et analyser les données JSON renvoyées?
92
Réponses:
Vous pouvez faire comme ceci:
la source
Swift 5 et 4
la source
Je pense que l'
NSURLSession
API s'intègre mieux dans cette situation. Parce que si vous écrivez du code Swift, la cible de votre projet est au moins iOS 7 et iOS 7 prend en charge l'NSURLSession
API. Bref voici le codela source
// Handle result
pourrait être:let resp = String( data:data!, encoding:NSUTF8StringEncoding)!
NSURLSessionConfiguration
. Je pense que cela devrait être la réponse acceptée.Voici le code complet des requêtes d'API REST utilisant NSURLSession dans swift
Pour la demande POST ...
J'espère que ca fonctionne.
la source
édité pour swift 2
la source
Swift 4 - Demande GET
N'oubliez pas de configurer les paramètres de sécurité du transport d'application pour ajouter votre domaine aux exceptions et autoriser les requêtes http non sécurisées si vous atteignez des points de terminaison sans utiliser HTTPS.
Vous pouvez utiliser un outil tel que http://www.json4swift.com/ pour générer automatiquement vos mappages codables à partir de vos réponses JSON.
la source
Swift 3.0
la source
Swift 4
Créer une application à l'aide d'Alamofire avec la méthode Api Post
Installez le fichier pod -pod 'Alamofire', '~> 4.0' pour Swift 3 avec Xcode 9
Créer une classe Webservices.swift, importer Alamofire
Design storyBoard, vue de connexion
insérer le code suivant pour le ViewControllerClass
Insérer le code suivant pour WebserviceClass
la source
Dans swift 3.3 et 4. J'ai créé la classe APIManager avec deux méthodes publiques. Passez simplement le paramètre requis, le nom de l'API et le type de requête. Vous obtiendrez une réponse puis la passerez à la fermeture.
la source
rapide 4
UTILISEZ ALAMOFIRE dans notre fichier pod d'installation App plz
pod 'Alamofire', '~> 4.0'
Nous pouvons utiliser l'API pour les données Json - https://swapi.co/api/people/
Ensuite, nous pouvons créer une classe de mise en réseau pour notre projet - networkingService.swift
Ensuite, créez la classe NetworkingError.swift
Ensuite, créez la classe Person.swift
Créez ensuite DetailVC.swift
Ensuite, créez la classe GetPeopleResponse.swift
Alors notre classe de contrôleur de vue
Dans notre StoryBoard
plz Connectez-vous avec notre vue avec une autre en utilisant segue avec l'identifiant -peopleToDetails
Utilisez UITableView dans notre première vue
Utilisez UIButton pour obtenir les données
Utilisez 9 étiquettes dans notre DetailVc
la source
Si vous travaillez dans Swift 3, la syntaxe change. L'exemple ici a fonctionné pour moi et a une bonne explication des étapes: https://grokswift.com/simple-rest-with-swift/
Voici le code de ce tutoriel:
la source
Appel d'API à l'aide de la classe de modèle
créer une variable et se connecter avec la classe de modèle
créer une classe de modèle Nouveau -> classe rapide
}
alors nous pouvons nous connecter avec nos objets de vue de table
la source
la source