我需要从我的可可应用程序向我的 firebreath 项目发送一个分布式通知,所以我需要在我的 firebreath 代码中创建一个观察者和一个选择器。我将类扩展名更改为“.mm”以支持 Objective-c 代码。我的firebreath项目中已经有objective-c代码并且工作正常。但是当我尝试创建一个观察者时,我的代码中出现了错误,我不知道如何解决它。
这是我的 firebreath 项目的源代码:
//This is the selector
- (void)receiveAppConfirmationNotification:(NSNotification*)notif{
//The application is alive.
NSLog(@"The application is alive!!!!!!!!");
}
std::string MyProjectAPI::bgp(const std::string& val)
{
//Add an observer to see if the application is alive.
NSString *observedObject = @"com.test.net";
NSDistributedNotificationCenter *center = [NSDistributedNotificationCenter defaultCenter];
[center addObserver: self
selector: @selector(receiveAppConfirmationNotification:)
name: @"App Confirmation Notification"
object: observedObject];
}
这是我的错误:
...firebreath/../projects/MyProject/MyProjectAPI.mm:133:错误:“-”令牌之前的预期不合格 ID。这是我定义“receiveAppConfirmationNotification”方法的那一行。
...firebreath/../projects/MyProject/MyProjectAPI.mm:157:错误:“self”未在此范围内声明。
如何定义选择器?如何将观察者添加为类本身?