objective-c - 区分对同一委托(delegate)方法的调用

标签 objective-c ios cocoa-touch delegates

假设我有一个方法:-[myClass getDataForUser:user],完成后它会调用委托(delegate)的方法gotData:,结果显示在我的 main 上类(class)。例如,如果我对 getDataForUser: 进行两次调用:

[myClass getDataForUser:@"user1"];
[myClass getDataForUser:@"user2"];

如何区分委托(delegate)方法中的这两个调用?

编辑:

库是 MGTwitterEngine,我进行的两个调用是 -[_engine getDirectMessagesSinceID:1startingAtPage:1];[_engine getSentDirectMessagesSinceID:1startingAtPage:1];委托(delegate)方法是 directMessagesReceived:forRequest:

最佳答案

每次调用都使用 MGTwitterEngine 的实例,并为每个实例提供不同的委托(delegate)对象。在每个委托(delegate)对象中,您可以存储用户 ID。设置这些委托(delegate)对象,以便它们可以接受您的原始类作为它们的委托(delegate)。然后你最后可以使用 delegate gotData:(id)data forUser:(NSString *)user 。不漂亮,但可能有用。

关于objective-c - 区分对同一委托(delegate)方法的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999342/

相关文章:

iphone - 对于讲英语的人,您如何发音“xib”

ios - PFObject 子类未加载 Objective-C

ios - 如何通过外观协议(protocol)设置 UIBarButtonItem 的 tintColor?

android - 支持 Web 和移动设备的单一 AngularJS 代码库

ios - 动画后 UITableViewCell 位置关闭

javascript - 如何引用 HTML anchor

iphone - 来自 PDF 的高质量 UIImage

ios - 检查子类是否覆盖了一个方法

objective-c - 向应用商店添加新版本

iphone - UIPickerView 如何处理 2 个以上的转盘旋转?