0

关于 iPhone 上的通知,我是个小新手。

我想做的是:我有一个使用基于 UIImageView 的类的对象。这个类有自己的touchbegan、touchesended等实现。

主程序是否有可能知道用户何时从对象上抬起手指?换句话说,是否可以创建从类到主应用程序的视图控制器(使用类)的通知,以便它会触发一个方法?该方法应该在主应用程序上,而不是在类上。

这可能吗?能给我举个例子吗?

谢谢你的帮助。

4

1 回答 1

1

-touchesEnded:中,添加类似于以下语句的内容(更改handleTouchesEndedNotification为您要用于通知的唯一名称):

[[NSNotificationCenter defaultCenter] postNotificationName:@"handleTouchesEndedNotification" object:nil userInfo:nil];

在您的主类、应用程序委托或其他类中,在初始化类的位置添加以下语句,该语句会侦听具有您上面使用的唯一名称的通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleMyNotification:) name:@"handleTouchesEndedNotification" object:nil];

进一步进入您的类,添加方法和逻辑:

- (void) handleMyNotification:(NSNotification *)notification {
    // do stuff...
}

如果您想与通知一起传递数据,请创建一个NSDictionary对象并将通知的userInfo变量设置为此字典对象。

于 2009-09-05T10:17:26.653 回答