设为首页 加入收藏

TOP

对Objective-c委托的理解(三)
2013-02-08 14:20:15 来源: 作者: 【 】 浏览:1497
Tags:Objective-c 委托 理解

 

  实现张小姐

  <SPAN style="FONT-SIZE: 10px">//

  //  IphoneDeleteViewController.m

  //  IphoneDelete

  //

  //  Created by wangjun on 10-9-18.

  //  Copyright __MyCompanyName__ 2010. All rights reserved.

  //

  #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 </SPAN>

  要实现委托效果,在oc中最要的是,你要遵循某个协议,然后把自己self指派给委托。

  好了,文章看完了,我猜你已经有了一些概念与想法了,让我来抽取出其中的关键部分:

  协议:NoteDelegate看成C++(www.cppentry.com)中的抽象基类

  主角:IPhoneDeleteViewController看成C++(www.cppentry.com)中的实现类

  托管(代理):ManagerMessage看成观察者模式中的被关注的对象

  现在,梳理一下流程

  现实语义:张小姐家里有一件事要处理,可她现在没办法去办,她就告诉李先生(viewDidLoad发生),要李先生帮忙去办

  模式语义:观察者IPhoneDeleteViewController先实现接口NoteDelegate内容,然后注册兴趣事件对象ManagerMessage,如果兴趣事件发生则通知自己,注册过程发生在viewDidLoad函数中。兴趣事件发生后,依据多态特性,调用messageCallBack通知观察者。

  我的理解完了,不妥之处,还望指正。

  <PRE class=cpp name="code" sizcache="1" sizset="7"><PRE class=cpp name="code"></PRE>

  <PRE></PRE>

  <PRE></PRE>

  <P></P>

  <PRE></PRE>

  <PRE></PRE>

  <P></P>

  <PRE></PRE>

  <PRE></PRE>

  </PRE>

      

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言的字符型数据 下一篇C、C++笔试题集锦

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: