Articles of rapides

Comment accéder à une valeur associée à Swift enum en dehors d’une instruction switch

Considérer: enum Line { case Horizontal(CGFloat) case Vertical(CGFloat) } let leftEdge = Line.Horizontal(0.0) let leftMaskRightEdge = Line.Horizontal(0.05) Comment puis-je accéder, par exemple, à la valeur associée à lefEdge , directement, sans utiliser une instruction switch? let noIdeaHowTo = leftEdge.associatedValue + 0.5 Cela ne comstack même pas! J’ai regardé ces questions SO mais aucune des réponses […]

Comment créer un enum Swift Ssortingng disponible dans Objective-C?

J’ai cette énumération avec les valeurs Ssortingng , qui seront utilisées pour indiquer à une méthode API qui se connecte à un serveur quel type de serveur possède un message. J’utilise Swift 1.2, donc les énumérations peuvent être associées à Objective-C @objc enum LogSeverity : Ssortingng { case Debug = “DEBUG” case Info = “INFO” […]

Délégation rapide – Quand utiliser le pointeur faible sur le délégué

Quelqu’un peut-il expliquer quand et quand ne pas utiliser une affectation «faible» à un pointeur de délégué dans Swift, et pourquoi? Je crois comprendre que si vous utilisez un protocole qui n’est pas défini comme une classe que vous ne pouvez ni ne souhaitez atsortingbuer, atsortingbuez votre pointeur de délégué à faible. protocol MyStructProtocol{ //whatever […]

Swift @ Gestionnaire d’évolution et d’achèvement

[Rapide] Bonjour, j’essaie de comprendre plus précisément la «fermeture» de Swift. Mais @escaping et Completion Handler sont trop difficiles à comprendre J’ai cherché de nombreux messages et documents officiels sur Swift, mais je pensais que ce n’était toujours pas suffisant. Ceci est l’exemple de code des documents officiels var completionHandlers: [()->Void] = [] func someFunctionWithEscapingClosure(completionHandler: […]

fermeture facultative et vérifier si elle est nulle

Donc, ce que je veux avoir, c’est une classe qui peut faire en sorte qu’une fermeture lui soit transmise dans une fonction, elle peut aussi vouloir ignorer une telle fermeture. Comment puis-je vérifier si la variable de fermeture est définie et comment puis-je la supprimer lorsque j’en ai fini avec? Impossible d’invoquer ‘! =’ Avec […]

Comment puis-je déclarer une variable qui a un type et implémente un protocole?

Mon application a un protocole pour les contrôleurs de vue de détail, indiquant qu’ils doivent avoir une propriété viewModel : protocol DetailViewController: class { var viewModel: ViewModel? {get set} } J’ai aussi quelques classes différentes qui implémentent le protocole: class FormViewController: UITableViewController, DetailViewController { // … } class MapViewController: UIViewController, DetailViewController { // … } […]

Est-il possible d’append des contraintes de type à une extension de conformité du protocole Swift?

Je voudrais étendre Array pour append la conformité à un nouveau protocole – mais seulement pour les tableaux dont les éléments eux-mêmes sont conformes à un protocole spécifique. Plus généralement, je souhaiterais que des types (protocoles ou types concrets) avec des parameters de type implémentent un protocole uniquement lorsque les parameters de type correspondent à […]

Instruments iOS – Comment charger le fichier dSYM pour les bibliothèques Swift telles que libswift.foundation.dylib?

J’essaie de profiler une application Swift dans Instruments et j’ai des difficultés car les symboles de débogage pour les libswiftCore.dylib et l ibswiftFoundation.dylib ne sont pas affichés. Le texte de survol suggère d’utiliser File -> Symbols pour sélectionner manuellement les fichiers dSYM, mais je n’ai aucune idée de leur emplacement ou même s’ils existent. Les […]

Se référant aux variables d’environnement dans Swift

Est-ce que quelqu’un sait comment je peux saisir une variable d’environnement dans Swift?

Comment puis-je append un tuple à un tableau Swift?

J’essaie d’append un tuple (par exemple, un tuple à 2 éléments) à un tableau. var mySsortingngArray: (Ssortingng,Int)[]? = nil mySsortingngArray += (“One”, 1) Ce que je reçois c’est: Impossible de trouver une surcharge pour ‘+ =’ qui accepte les arguments fournis Astuce: j’ai essayé de faire une surcharge du ‘+ =’ par livre de référence: […]