Objective-C学习笔记 利用协议实现回调函数

来源:http://mobile.51cto.com/iphone-278354.htm

Objective-C学习笔记 利用协议实现回调函数是本文要介绍的内容,主要是实现一个显示文字为测试的视图,然后经过3秒钟测试文字变为回调函数文字。相应的截图如下:

Objective-C学习笔记 利用协议实现回调函数 

Objective-C学习笔记 利用协议实现回调函数

实现的代码如下:

定义协议:

#import <UIKit/UIKit.h>   

@protocol NoteDelegate   

//回调函数   

-(void)messageCallBack:(NSString *)string;   

@end 

调用协议:

#import <Foundation/Foundation.h>   

#import "NoteDelegate.h"   

@interface ManagerMessage : NSObject {   

    id<NoteDelegate> *noteDelegate;   

}   

@property (nonatomic,retain) id<NoteDelegate> *noteDelegate;   

-(void)startThread;   

@end  

 

#import "ManagerMessage.h"   

@implementation ManagerMessage   

@synthesize noteDelegate;   

//开始一个线程   

-(void)startThread   

{   

 

    [NSTimer scheduledTimerWithTimeInterval:3   

                                     target:self   

                                   selector:@selector(targetMethod:)   

                                   userInfo:nil   

                                    repeats:NO];   

}   

-(void)targetMethod:(NSString *)string   

{   

    if (self.noteDelegate!=nil) {   

        //完成线程 调用回调函数   

        [self.noteDelegate messageCallBack:@"回调函数"];   

        }   

}   

@end 

前台页面实现:

#import "IphoneDeleteViewController.h"   

#import "ManagerMessage.h"   

@implementation IphoneDeleteViewController   

@synthesize textView;   

 

//回调函数   

-(void)messageCallBack:(NSString *)string   

{   

    self.textView.text=string;   

}   

- (void)viewDidLoad {   

    [super viewDidLoad];   

    self.textView.text=@"测试";   

    ManagerMessage *message=[[ManagerMessage alloc] init];   

    //通知调用协议   

    message.noteDelegate=self;   

    [message startThread];   

    [message release];   

}   

- (void)didReceiveMemoryWarning {   

    [super didReceiveMemoryWarning];   

}   

- (void)viewDidUnload {   

    self.textView=nil;   

}   

- (void)dealloc {   

    [self.textView release];   

    [super dealloc];   

}   

@end 

小结:Objective-C学习笔记 利用协议实现回调函数的内容介绍完了,希望本文对你有所帮助。

 

你可能感兴趣的:(Objective-C)