Accueil Finances personnelles Types de propriétés Swift - les variables explicatives

Types de propriétés Swift - les variables explicatives

Vidéo: Tutoriel Swift 2 : Comprendre les propriétés calculées | video2brain.com 2025

Vidéo: Tutoriel Swift 2 : Comprendre les propriétés calculées | video2brain.com 2025
Anonim

Dans Swift, les variables de support sont explicitement déclarées si nécessaire (généralement en code converti à partir d'Objective-C). De plus, les getters n'ont pas besoin d'utiliser le mot-clé get. Les propriétés Swift peuvent être des variables ou des constantes; chaque type peut être stocké ou calculé, comme suit:

  • Déclaration d'une propriété de variable: Une variable est introduite avec le mot-clé var comme dans:

    var _fetchedResultsController: NSFetchedResultsController? = nil
    
  • Déclaration d'une propriété constante: Une constante (c'est-à-dire, une propriété qui ne peut pas être modifiée) est introduite avec le mot clé let. La déclaration précédente peut être modifiée pour déclarer une constante comme suit:

    let _fetchedResultsController: NSFetchedResultsController? = nil
    
  • Déclaration d'une propriété stockée: La déclaration de _fetchedResultsController indiquée dans la liste suivante est une déclaration typique d'une propriété stockée . Une propriété stockée est une propriété stockée dans le cadre d'une instance de la classe, de l'énumération ou de la structure.

    // MARK: - Contrôleur de résultats récupérés var fetchedResultsController: NSFetchedResultsController {if _fetchedResultsController! = nil {return _fetchedResultsController!} let fetchRequest = NSFetchRequest () // Édite le nom de l'entité selon le cas. laissez entity = NSEntityDescription. entityForName ("Evénement", inManagedObjectContext: self. managedObjectContext!) fetchRequest. entity = entity // Définit la taille du lot à un nombre approprié. fetchRequest. fetchBatchSize = 20 // Édite la clé de tri selon les besoins. let sortDescriptor = NSSortDescriptor (key: "timeStamp", croissant: false) laisse sortDescriptors = [sortDescriptor] fetchRequest. sortDescriptors = [sortDescriptor] // Modifie le chemin de la clé du nom de la section et le nom du cache si nécessaire. // nil pour le chemin de clé de nom de section signifie "pas de section". let aFetchedResultsController = NSFetchedResultsController (fetchRequest: fetchRequest, managedObjectContext: self.GoldObjectContext!, sectionNameKeyPath: nil, cacheName: "Master") aFetchedResultsController. delegate = self _fetchedResultsController = Erreur de var aFetchedResultsController: NSError? = nul si! _fetchedResultsController!. performFetch (& error) {// Remplace cette implémentation par du code pour gérer // l'erreur de manière appropriée. // abort () provoque l'application pour générer // un journal de plantage et se termine. Vous ne devriez pas utiliser cette // fonction dans une application d'expédition, bien que // puisse être utile pendant le développement. println ("Erreur non résolue (erreur), (erreur. userInfo)") abort ()} return _fetchedResultsController!} var _fetchedResultsController: NSFetchedResultsController?= nilPar défaut, la variable passée dans le setter est nommée newValue, 

    et Swift utilise le type approprié pour cela.

    L'exemple utilise un modèle Objective-C pour une variable de support: Les propriétés stockées Swift n'ont pas besoin de commencer par un caractère spécial tel qu'un trait de soulignement; Cependant, ils doivent être initialisés et recevoir un type (peut-être déduit de l'initialisation) avant d'être utilisés.

    var _fetchedResultsController: NSFetchedResultsController? = nil
    
  • Déclarer une propriété calculée avec un getter et un setter: Ce point mérite un peu d'élucidation. La liste montre un getter basique et un setter d'une propriété Swift. Vous pouvez voir que myVar a une variable de support de myInt. Les mots clés get et set identifient le getter et le setter.

    var myInt: Int = 0 var monVar: Int {get {return myInt} set {myInt = nouvelleValeur}} myVar = 20
    

    Voici comment créer une propriété calculée .

En plus des getters et setters illustrés dans la figure suivante, vous pouvez utiliser des observateurs comme indiqué dans la liste suivante. Ce code est dans le DetailViewController. fichier rapide de Locatapp (à partir du modèle d'application Master-Detail).

var detailItem: AnyObject? {didSet {// Mettre à jour la vue. soi. configureView ()}} Définissez un point d'arrêt dans cette méthode et exécutez l'application dans iOS Simulator. Le bouton provoque l'appel de la méthode.

C'est un bon endroit pour appeler un programme de mise à jour de la vue (ce qui est exactement ce qui est fait dans le modèle). Il y a deux observateurs que vous pouvez utiliser:

  • didSet: Ceci est appelé après le fait.

  • willSet: Ceci est appelé juste avant que le réglage ne se produise.

Types de propriétés Swift - les variables explicatives

Le choix des éditeurs

Principes de base du protocole de routage IP Multicast - dummies

Principes de base du protocole de routage IP Multicast - dummies

IP Le routage multicast est le routage du trafic multicast. La nature des données IP Multicast est telle qu'elle a ses propres problèmes de routage de réseau Cisco. Il existe quatre protocoles de multidiffusion principaux pris en charge par le Cisco IOS actuel. L'illustration vous montre approximativement où les protocoles sont utilisés; Ce qui suit est ...

Comment le protocole STP (Spanning Tree Protocol) gère les modifications du réseau - dummies

Comment le protocole STP (Spanning Tree Protocol) gère les modifications du réseau - dummies

Nouveau concentrateur ou passer à un réseau mappé STP (Spanning Tree Protocol)? Pour cet exemple, un concentrateur était connecté à un port sur les deux commutateurs 11: 99 et 77: 22. Un concentrateur était utilisé car il ne disposait pas d'une intelligence réseau. L'effet net est en fait le même que ...

Types de réseau local (LAN) - nuls

Types de réseau local (LAN) - nuls

Un WAN est un type de réseau local (LAN) . Un réseau local est un réseau privé généralement constitué d'une connexion réseau fiable, rapide et bien connectée. Les alternatives sur le framework LAN incluent CAN, MAN et WAN. Ces trois options de réseau sont illustrées ci-dessous: CAN Si vous utilisez le réseau LAN ...

Le choix des éditeurs

Bebo est l'application de médias sociaux pour vous? - les nuls

Bebo est l'application de médias sociaux pour vous? - les nuls

Comment savez-vous quel est le bon média social pour vous? La culture moderne devient de plus en plus dépendante des médias sociaux tels que Bebo, Facebook, Twitter et What'sApp, ainsi que de nombreux autres. Le questionnaire suivant vous aidera à déterminer si vous avez ou non ce qu'il faut pour être social sur le nouveau ...

Comment utiliser Bebo - dummies

Comment utiliser Bebo - dummies

Bebo, la nouvelle application des médias sociaux, est aussi facile à utiliser que C'est amusant à regarder. Vous pouvez obtenir cette nouvelle application sur Google Play Store et Apple App Store. Lancez Bebo et suivez les instructions à l'écran pour terminer le processus de création de compte. Après avoir téléchargé avec succès, ...

Le choix des éditeurs

Ce que vous pouvez trouver dans une barre latérale de blog - des mannequins

Ce que vous pouvez trouver dans une barre latérale de blog - des mannequins

La plupart des blogs contiennent du matériel de barre latérale. La plupart des blogs sont disposés en deux ou trois colonnes, et le contenu de la barre latérale apparaît généralement dans les deuxième et / ou troisième colonnes. Certains blogs n'ont pas de barres latérales, et sur d'autres blogs, vous pouvez découvrir des éléments supplémentaires au-delà de ce que vous voyez ici. Archives basées sur la date: Presque tous les blogs sont ...

Lorsqu'un réseau publicitaire est approprié pour votre blog maman - les mannequins

Lorsqu'un réseau publicitaire est approprié pour votre blog maman - les mannequins

Ne sont que quelques-unes modèles conflit en cours d'exécution des publicités avec vos meilleurs intérêts. C'est quand vous bloguez pour vendre vos propres produits ou pour promouvoir vos services professionnels. Même dans ce cas, il est toujours possible de diffuser des annonces sur ces blogs, surtout si les annonces font la promotion de produits et de services complémentaires et non concurrents. Mais si vous êtes ...

Quand maman blogue pour Swag is Okay - les mannequins

Quand maman blogue pour Swag is Okay - les mannequins

Dans certaines circonstances légitimes vous pouvez vous sentir travailler gratuitement vaut votre temps et la publicité que vous offrez à une marque. Cela peut être comparé à un stage non rémunéré. Si vous êtes stagiaire et que vous avez une excellente expérience de travail, alors c'est une entreprise précieuse. Si vous êtes stagiaire et que vous ne versez que du café et que vous livrez ...