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