我正在开发一个带有推送通知的 iphone 应用程序。我的问题是,当我收到推送通知而不创建 classB 的实例或使用静态方法时,如何从 classB 调用函数?
非常感谢 :)
我正在开发一个带有推送通知的 iphone 应用程序。我的问题是,当我收到推送通知而不创建 classB 的实例或使用静态方法时,如何从 classB 调用函数?
非常感谢 :)
您需要在接收推送通知的对象中保存对 classB 的引用:
// The header file of the class that receives the notification
@class classB;
@interface MyNotifiedClass : NSObject
{
classB *_classB;
}
@property (retain, nonatomic, readwrite) classB *classB;
// The implementation file of the class that receives the notification
@implementation MyNotifiedClass
....
@synthesize classB = _classB;
- (void)theMethodThatReceivesTheNotification:(whatever)
{
[_classB doSomethingNowPlease];
}
你显然必须classB
在这个类中设置实例才能工作:
// Someplace outside both classes (assuming _classB points to an instance of classB
// and _myNotifiedClass points to an instance of MyNotifiedClass)
[_myNotifiedClass setClassB:_classB];
如果不实例化类,就无法调用类的实例方法。您的解决方案是调用类方法或classB
可能具有单例初始化程序。