Ejemplo de delegado simple?

Ok, estoy programando en objetivo-C y usando Xcode. He leído la documentación en el sitio web de Apple y entiendo qué son los delegados, pero cuando llego a la parte donde se habla de cómo implementar realmente los métodos de delegado en el código, me confundo, especialmente cuando dicen algo así como "ahora implementa el delegado". método." Tal vez sea solo yo, pero no sé exactamente DÓNDE implementar el método (¿el archivo AppDelegate.h / .m sería la ubicación correcta en una situación simple donde solo tengo la clase ViewController y AppDelegate?). Supongo que realmente la mejor manera de aprender es ver un ejemplo muy simple.

Tengo un código a continuación y me preguntaba si alguien podría leerlo y mostrarme cómo conectar al delegado al ViewController para que muestre la suma. Lo siento si el código parece largo, pero este es el ejemplo de delegación más simple que se me ocurre. En aras de la discusión y tener menos código para ver (lo que me facilita ver lo que sucede), digamos que ServerClass * server implementa un servidor y ClientClass * client implementa un cliente. Ambos ya están conectados entre sí y están esperando para ingresar su número. Dejo lo que creo que sería correcto, pero estoy seguro de que no está completo (en lo que respecta a la conexión del delegado con el servidor y el cliente). Una cosa que no sé dónde colocar son las declaraciones de protocolo, así que si alguien pudiera hacer este simple problema, me ayudaría mucho en cuanto a saber cómo se implementa un delegado en una clase.

Por cierto, estoy trabajando con Peer Picker en el nuevo GameKit del iPhone SDK 3.0 si alguien también quisiera mostrarme qué se conecta con qué. Por ejemplo, estoy enpaso 3 de la guía de Apple para Peer Picker. Ahora, no sé dónde va el paso 5 en mi proyecto. Gracias a todos los que me pueden ayudar a entender esta implementación de delegado ... ¡todos ustedes han sido excelentes hasta ahora!

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>

Respuestas a la pregunta(2)

Su respuesta a la pregunta