NSMachPort如何获取组件

时间:2016-10-18 13:33:34

标签: ios nsoperation nsrunloop

所以,我有一个启动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中的所述有效负载?

0 个答案:

没有答案