recherche
  • Se connecter
  • S'inscrire
Réinitialisation du mot de passe réussie

Suivez les projets qui vous intéressent et découvrez les dernières actualités les concernant.

Délégués iOS

Exemple de délégués

Supposons que l'objet A appelle B pour effectuer une opération. Une fois l'opération terminée, l'objet A doit savoir que l'objet B a terminé la tâche et l'objet A effectuera d'autres opérations nécessaires.

Les concepts clés dans l'exemple ci-dessus sont

  • A est l'objet délégué de B
  • B fait référence à un A
  • A implémentera la méthode déléguée de B
  • B notifie

via la méthode déléguée pour créer un délégué (Délégués) Objet

1. Créez une application à vue unique

2. Sélectionnez ensuite Fichier -> Nouveau -> Fichier...

addNewFile

3. la sous-classe de SampleProtocol NSObject comme indiqué ci-dessous

setProtocolName5 Ensuite, sélectionnez Créer

6 Ajoutez un protocole au dossier SampleProtocol.h et mettez à jour le code comme indiqué ci-dessous :

#import <Foundation/Foundation.h>// 协议定义@protocol SampleProtocolDelegate <NSObject>@required- (void) processCompleted;@end// 协议定义结束@interface SampleProtocol : NSObject{   // Delegate to respond back
   id <SampleProtocolDelegate> _delegate; }@property (nonatomic,strong) id delegate;-(void)startSampleProcess; // Instance method@end

7. Modifiez le fichier SampleProtocol.m. code pour implémenter la méthode d'instance :

#import "SampleProtocol.h"@implementation SampleProtocol-(void)startSampleProcess{    
    [NSTimer scheduledTimerWithTimeInterval:3.0 target:self.delegate 
	selector:@selector(processCompleted) userInfo:nil repeats:NO];}@end

8. Faites glisser l'étiquette de la bibliothèque d'objets vers UIView pour ajouter UILabel dans ViewController.xib, comme indiqué ci-dessous :

delegateLabel9. Créez une étiquette IBOutlet et nommez-la myLabel, puis mettez à jour le code comme indiqué ci-dessous et affichez le SampleProtocolDelegate dans ViewController.h

#import <UIKit/UIKit.h>#import "SampleProtocol.h"@interface ViewController : UIViewController<SampleProtocolDelegate>{    IBOutlet UILabel *myLabel;}@end

10 Complétez la méthode d'autorisation, créez un objet pour SampleProtocol et appelez la méthode startSampleProcess. Mettez à jour le fichier ViewController.m comme indiqué ci-dessous

#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{    [super viewDidLoad];    SampleProtocol *sampleProtocol = [[SampleProtocol alloc]init];
    sampleProtocol.delegate = self;    [myLabel setText:@"Processing..."];    [sampleProtocol startSampleProcess];// Do any additional setup after loading the view, typically from a nib.}- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}#pragma mark - Sample protocol delegate-(void)processCompleted{    
    [myLabel setText:@"Process Completed"];}@end

11. Vous verrez le résultat comme indiqué ci-dessous. Une fois la méthode d'autorisation appelée par l'objet SampleProtocol, le code du lanceur de balises sera également mis à jour. .

delegateResult

Outils d'IA chauds
Undress AI Tool
Undress AI Tool

Images de déshabillage gratuites

AI Clothes Remover
AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undresser.AI Undress
Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

Stock Market GPT
Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outil populaire
Bloc-notes++7.3.1
Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6
Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac
SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)