在c ++函数中访问objective-c类的ivars

时间:2010-08-06 20:13:00

标签: c++ objective-c objective-c++

我有一个objective-c类,它有一个字符串ivar,我需要在调用回调函数时更改它。问题是回调是在c ++中,因此我无法访问c ++函数中的objective-c类的ivars。回调必须是c ++,不能改变。我意识到还有其他方法可以做到这一点,即由该函数设置并由我的类读取的全局变量,或者包含函数和字符串的包装器c ++类,并且是我的objective-c类的成员。但是我觉得简单地在回调中设置ivar将是最简单,最干净的方法。有人知道做这种事的方法吗?

2 个答案:

答案 0 :(得分:1)

我会在Objective-C类上使用getter / setter,并将其作为上下文信息传递给函数。

答案 1 :(得分:0)

这似乎需要在相同的代码中编写c ++和Objective C

所以只需将文件的扩展名添加为.mm,就可以轻松编写c ++和objective c。