我对自指针有点困惑。我知道如果我想在目标 C 中使用 self ,我需要将它作为参数传递,例如
someFunction(id self)
{
}
然而,我有点困惑的是,如果我想使用 self 的成员变量,我会收到以下错误
在“__strong id”类型的对象上找不到属性“浏览器”。
我在头文件中将浏览器定义为:
@property webBrowser* browser;
然后我试图在我的 c++ 函数中调用我的 webBrowser 类的函数:
[self.browser StartSearch:self];
错误发生在上面的行中。如果我改为将 self 的成员变量作为参数传递,则该函数肯定会被正确调用。不过,这感觉相当hacky。
关于它为什么不起作用以及替代方案是什么的任何解释都会很棒。