首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

请教IOS中怎么实现像C#中的事件

2014-04-23 
请问IOS中如何实现像C#中的事件试了delegate和NSNotificationCenter,都不能达到想要的效果。想实现这样的效

请问IOS中如何实现像C#中的事件
试了delegate和NSNotificationCenter,都不能达到想要的效果。
想实现这样的效果:
1. 有一个类parent.m, 类里有方法update();
3. 在另外一个类view.m中定义了一个方法viewUpdate();
想要的效果是在父类parent.m的update()方法中调用view.m类的viewUpdate()方法.

使用回调的方式, 如果是C#可以这样实现:
1. 在父类parent.m中定义事件event
2. 然后再view.m类中注册这个事件并绑定viewUpdate()方法
   event+=viewUpdate();
3. 最后在父类parent.m的update()方法中
   if(event != null) event();
就可以成功调用viewUpdate()方法。

小弟初学IOS,不知道在IOS中如何实现类似的效果,请大哥们指点一下~~
[解决办法]
http://blog.csdn.net/huifeidexin_1/article/details/7567731
[解决办法]
delegate 和 NSNotificationCenter 应该都可以实现。
对象间数据的交互的过程中,对象本身无非承担了两种角色,数据的发送者(sender),以及数据的接收者(receiver). 发送者定义了接收者需要遵循的协议(protocol). 接收者需要实现发送者定义的协议。协议是两者的桥梁也是约束。
delegate 与 NSNotificationCenter之间是有很大区别。如何根据自己的需求,选择合适的解决方案是很关键的问题。delegate 关注的是两个对象关系紧密,如果让这两个关系紧密的对象解藕。 NSNotificationCenter 是以通知中心观察者的模式来实现。只要注册了消息的观察者都可以接收到发送的消息。

热点排行