日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Objective-C利用协议实现回调函数(类似java的回调函数)

發布時間:2023/12/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Objective-C利用协议实现回调函数(类似java的回调函数) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現的代碼如下:

定義協議:

#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利用协议实现回调函数(类似java的回调函数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。