通过分布式对象代替代理发送对象

问题描述:

我无法解决下一个问题:我有2个应用程序使用分布式对象相互交谈。假设应用程序将呼叫从应用B. - (void)updateState:(State *)state方法
@interface State : NSObject <NSCopying, NSCoding>...
当被调用时在乙应用updateState:方法我有NSDistantObject表示代替State对象sended对象。在Friday Q&A我发现如果对象符合NSCoding协议对象应该'发送'而不是代理,但是,我仍然收到代理。 Apple文档中找不到关于它的任何信息。也许有人确实知道如何发送对象而不是代理,以及Distributed Objects系统如何决定何时序列化和发送对象以及何时使用代理?通过分布式对象代替代理发送对象

我发现它!此外,您应该在要通过的对象中实现- (id)replacementObjectForPortCoder:(NSPortCoder *)coder。有关此方法的更多信息,请参阅Apple documentation

神秘isBycopyNSPortCoderisByref,苹果公司向裁判documentation,但在最后的是没有资料,通过bycopybyref方法参数关键字确定。更多关于这个关键字,你可以阅读here