在C ++中,我们将指针传递给函数
bool getData(REMOTE_ID msId,RsEvent*& pEvent);
如何在Objective C中声明这个?
// ?
-(BOOL)getData:(REMOTE_ID)msId withEvent:(RsEvent*)pEvent;
但是我需要使用指针来引用(RsEvent*&
)。我这里只使用指针(RsEvent*
)作为数据类型。
答案 0 :(得分:2)
您需要使用指针来模拟C(和Objective-C)中的引用:
-(BOOL)getData:(REMOTE_ID)msId withEvent:(RsEvent**)pEvent {
// do stuff with msId and *pEvent
}
并将参数作为指针传递:
RsEvent* event;
BOOl res = [foo getData:msId withEvent:&event];
...
答案 1 :(得分:1)
(顺便说一下,你没有处理指向引用的指针,而是指向指针的引用。)你不能在Objective-C方法中使用相同类型的注释吗?
- (BOOL)getData:(REMOTE_ID)msId withEvent:(RsEvent*&)pEvent;
我认为这应该有用,但如果没有,你可以使用指向指针的指针:
- (BOOL)getData:(REMOTE_ID)msId withEvent:(RsEvent**)pEvent {
useEvent(*pEvent); // when using the event, you need to dereference the pointer
}
发送包含活动地址的-getData:withEvent:
消息:
[obj getData:SOME_ID withEvent:&event];