好吧,我在Objective-C编程和使用Xcode的。 我已经通过苹果网站上的文档阅读和理解委托的是,但是当我来到那里谈到如何真正实现委托方法为代码的一部分,我只是感到困惑,尤其是当他们这样说:“现在实行委托的方法。” 也许这只是我,但我不知道究竟在何处实施方法(将在AppDelegate.h / .m文件是一个简单的情况下,我只有在视图控制器和AppDelegate类的正确位置?)。 我想真正为我学习的最好方法是看一个很简单的例子。
我有一些代码下面,我想知道如果有人能经历并告诉我如何委托连接到ViewController使其显示的总和? 很抱歉,如果代码看起来很长,但是这是最简单的例子委托我能想到的。 为了讨论的方便,并具有更少的代码看(使我更容易看到发生了什么),让说ServerClass *服务器实现了服务器和ClientClass *客户端实现客户端。 双方已经互相连接,并正在等待输入他们的号码。 我放下我觉得这是正确的,但我肯定知道它不是完整的(只要委托连接到服务器和客户端)。 有一两件事我不知道放在哪里是该协议的声明,因此,如果有人能请做这个简单的问题,它会帮助我很多,只要学习一个代表是如何实现成一个类。
顺便说一句,我与在iPhone SDK 3.0的新的GameKit同行选择器的工作,如果有人也想告诉我什么连接到什么。 例如,我在苹果指南同行选择器的第3步 。 现在,我不知道在哪里第5步去在我的项目。 感谢所有谁可以帮我了解这个委托执行......你们都已经很大为止!
ExampleAppDelegate.h
#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
ExampleAppDelegate.m
#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
ExampleAppViewController.h
#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
ExampleAppViewController.m
#import "ExampleAppViewcontroller.h"
@implementation ExampleAppViewController
@synthesize sum;
@synthesize num;
-(void) displaySum {
[sumfield setText: @"%i", sum];
}
@end