我是关于iPhone上的通知的新手。
我想要做的是:我有一个使用基于UIImageView的类的对象。这个类有自己的touchbegan,touchesended等实现。
主程序可以知道用户何时将手指抬离物体?换句话说,是否可以从类创建一个通知到主应用程序的视图控制器(使用类),因此它将触发一个方法?该方法应该在主应用程序上,而不是在类上。
这可能吗?你能举个例子吗?
感谢您的帮助。
答案 0 :(得分: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
变量设置为此字典对象。