所以,我有一个启动NSOperation扩展类的iOS 9应用程序,以及该类执行NSRunLoop的主要方法。我也成功实现了handleMessage,也就是说,当我向NSMachPort发送一些参数时,它有点工作......
这是发件人:
NSMachPort *rcPort = ((AppDelegate *)[UIApplication sharedApplication].delegate).rController.serverPort;
NSMutableArray *myarray = [NSMutableArray array];
[myarray addObject:@"hello"];
[rcPort sendBeforeDate:[NSDate distantFuture] msgid:666 components:myarray from:nil reserved:0];
我的handleMessage确实触发了,我很容易得到msgid
- (void)handleMachMessage:(void *)msg {
NSLog(@"got a message");
mach_msg_header_t *msg_t = msg;
NSLog(@" %d ", msg_t->msgh_id);
}
我的问题是:
我确实得到了msgid(666),如何获得handleMachMessage中的“components”部分?我搜索了高低,我找不到任何参考或代码示例。似乎handleMachMessage的msg参数只是一个mach_msg_header_t类型,但是,如果我能够添加“payload”,为什么我无法访问handleMachMessage中的所述有效负载?