pingpang

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  21 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

写了一个简单的委托的试用测试:

首先创建FunctionTest类,声明委托:

FunctionTest.h

[java] view plaincopyprint?
//  
//  FunctionTest.h  
//  DelegateDemo  
//  
//  Created by shx on 12-7-17.  
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.  
//  
  
#import <Foundation/Foundation.h>  
  
@protocol FunctionTestDelegate;  
  
@interface FunctionTest : NSObject  
{  
    id<FunctionTestDelegate> delegate;  
}  
@property (nonatomic, assign)id<FunctionTestDelegate> delegate;  
- (void)func1;  
- (void)func2;  
@end  
  
@protocol FunctionTestDelegate <NSObject>  
  
- (void)func3;  
- (void)func4;  
  
@end  

FunctionTest.m
[java] view plaincopyprint?
//  
//  FunctionTest.m  
//  DelegateDemo  
//  
//  Created by shx on 12-7-17.  
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.  
//  
  
#import "FunctionTest.h"  
  
@implementation FunctionTest  
  
@synthesize delegate;  
  
- (void)func1  
{  
    NSLog(@"function 1 called");  
    [delegate performSelector:@selector(func3)];  
}  
  
- (void)func2  
{  
    NSLog(@"function 2 called");  
    [delegate performSelector:@selector(func4)];  
}  
@end  

在appdelegate中实现委托:
[java] view plaincopyprint?
//  
//  AppDelegate.h  
//  DelegateDemo  
//  
//  Created by shx on 12-7-17.  
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.  
//  
  
#import <UIKit/UIKit.h>  
#import "FunctionTest.h"  
  
@class ViewController;  
  
@interface AppDelegate : UIResponder <UIApplicationDelegate,FunctionTestDelegate>  
{  
    FunctionTest *test;  
}  
  
@property (strong, nonatomic) UIWindow *window;  
  
@property (strong, nonatomic) ViewController *viewController;  
  
@end  
AppDelegate.m中实现:
[java] view plaincopyprint?
#pragma mark -FunctionTestDelegate  
- (void)func3  
{  
    NSLog(@"function 3 calledns");  
}  
- (void)func4  
{  
    NSLog(@"function 4 calledns");  
}  




- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
调用添加:
[java] view plaincopyprint?
test = [[FunctionTest alloc]init];  
    test.delegate = self;  
      
    [test func1];  
    [test func2];  

posted on 2012-07-17 21:26 往事随风 阅读(7319) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: