有时候我需要在ObjC中实现proxy pattern。如果我在运行时创建内部 主题并且不希望从代理中移出创建逻辑,我需要它。有时我在代理中使用几个对象,我更喜欢使用ARC来记忆内容。现在我使用C ++样式实现它:
- (void)setProperty:(CGFloat)value
{
_innerObject.value = value;
}
- (CGFloat)property
{
return _innerObject.value;
}
<...>
我认为这不是最好的方式,我认为存在更简单的方法。我想使用ObjC运行时自动转发消息 如果不手动编写每个set / get方法,我怎么做呢?
答案 0 :(得分:0)
- forwardingTargetForSelector:
“[r] eturns应首先指向无法识别的消息的对象”。所以:
// Will be queried for every message that is sent to `self` but
// which `self` does not itself implement.
- (id)forwardingTargetForSelector:(SEL)selector
{
return _innerObject;
}