Exemplo de Delegado Simples?

Ok, estou programando no objetivo-C e usando o Xcode. Eu li a documentação no site da Apple e entendo o que os delegados são, mas quando eu chego na parte em que fala sobre como implementar os métodos delegados no código, eu fico confuso, especialmente quando eles dizem algo como "agora implementar o delegado método." Talvez seja apenas eu, mas eu não sei exatamente onde implementar o método (seria o arquivo AppDelegate.h / .m ser o local correto em uma situação simples, onde eu só tenho a classe ViewController e AppDelegate?). Eu acho que realmente a melhor maneira de aprender é ver um exemplo muito simples.

Eu tenho algum código abaixo e eu queria saber se alguém poderia passar e me mostrar como conectar o delegado para o ViewController para que ele mostre a soma? Desculpe se o código parece longo, mas este é o exemplo de delegação mais simples que eu poderia pensar. Para fins de argumentação e com menos código para olhar (tornando mais fácil para mim ver o que está acontecendo), vamos dizer servidor ServerClass * implementa um servidor e ClientClass * cliente implementa um cliente. Ambos já estão conectados um ao outro e estão esperando para inserir seu número. Eu coloquei o que eu acho que estaria correto, mas eu tenho certeza que não está completo (tanto quanto conectar o delegado ao servidor e ao cliente). Uma coisa que eu não sei onde colocar são as declarações de protocolo, então se alguém puder fazer esse problema simples, isso me ajudaria muito ao aprender como um delegado é implementado em uma classe.

A propósito, estou trabalhando com o Peer Picker no novo GameKit do iPhone SDK 3.0 se alguém também quiser me mostrar o que se conecta com o quê. Por exemplo, estou empasso 3 do guia da Apple para o Peer Picker. Agora, não sei onde o passo 5 vai no meu projeto. Obrigado a todos que podem me ajudar a entender a implementação deste delegado ... todos vocês foram ótimos até agora!

ExampleAppDelegate.h

<code>#import <UIKit/UIKit.h>

@class ExampleAppViewController;

@interface ExampleAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    ExampleAppViewController *viewController;
    int sum;
}

@property (nonatomic, retain) sum;
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet ExampleAppViewController *viewController;

-(void) addNum:(int)num;
@end
</code>

ExampleAppDelegate.m

<code>#import "ExampleAppDelegate.h"
#import "ExampleAppViewController.h"

@implementation ExampleAppDelegate

@synthesize window;
@synthesize viewController;


- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    application.idleTimerDisabled = YES;

    // Override point for customization after app launch    
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}


- (void)dealloc {
    [viewController release];
    [window release];
    [super dealloc];
}

-(void)addNum:(int)num {
    sum += num;
}

@end
</code>

ExampleAppViewController.h

<code>#import <UIKit/UIKit.h>
#import <GameKit/GameKit.h>

@interface ExampleAppViewcontroller : NSObject {
        IBOutlet UILabel *sumField; // will display the total sum, one number entered //by the server and one entered by the client, on both iPhones after calculation

        int sum; // the total sum after addition;
        ServerClass *server; // some server
        ClientClass *client; // some client
        int num; // the number to add to sum
}

@property(nonatomic, assign) sum;
@property(nonatomic, retain) num;

-(void) displaySum;
@end
</code>

ExampleAppViewController.m

<code>#import "ExampleAppViewcontroller.h"

@implementation ExampleAppViewController

@synthesize sum;
@synthesize num;

-(void) displaySum {
    [sumfield setText: @"%i", sum];
}

@end
</code>

questionAnswers(2)

yourAnswerToTheQuestion