如果你必须在模型中使用c ++,是否可以使用绑定(NSArrayController等),即模型中的所有文件都有.mm扩展名。
在纯Objective-C中构建了一个小的测试程序,它运行正常但是当我尝试使用c ++库构建一个程序时,似乎没有任何事情发生,它会编译并启动,但是tableviews等没有任何反应。 / p>
或许不应该问是否可以使用绑定到c ++,而不是它们是否值得为Objective-c / cocoa新手使用。
由于
答案 0 :(得分:0)
你是对的,我替换了这个c + +代码
/ / Get the attribute
for (oscar :: ODStruct :: iterator iter = data.begin (); ites! = data.end (); iter + +)
{
mem = iter-> second;
if (mem.get (s_vals))
for (auto i = s_vals.begin (); in! = s_vals.end (); i + +)
[_owner SetValue: [NSString string with format: @ "% s", i-> c_str ()]
forKey: [NSString string with format: @ "% s", iter-> first.c_str ()]];
else if (mem.get (i_vals))
for (auto i = i_vals.begin (); in! = i_vals.end (); i + +)
[_owner SetValue: [NSString string with format: @ "% d", * i]
forKey: [NSString string with format: @ "_% s", iter-> first.c_str ()]];
else if (mem.get (f_vals))
for (auto i = f_vals.begin (); in! = f_vals.end (); i + +)
[_owner SetValue: [NSString string with format: @ "% f", * i]
forKey: [NSString string with format: @ "_% s", iter-> first.c_str ()]];
else if (mem.get (d_vals))
for (auto i = d_vals.begin (); in! = d_vals.end (); i + +)
[_owner SetValue: [NSString string with format: @ "% lf", * i]
forKey: [NSString string with format: @ "_% s", iter-> first.c_str ()]];
else
std :: cout << "Do not find for" << iter-> first.c_str () << std :: endl;
}
使用以下obj-c代码
_owner.name = @ "test"
_owner.type = @ "test1"
_owner.unit = @ "test2"
然后它的作品!在课堂上留下了另一个C + + kode,所以我可能错过了“setValue:forKey:'