Можно ли использовать привязки (NSArrayController и т. Д.), Если в модели требуется c ++, т.е. все файлы в модели имеют расширение .mm.
Я построил небольшую тестовую программу на чистом Objective-C, которая работает нормально, но когда я пытаюсь собрать программу с библиотеками c ++, кажется, что ничего не происходит, она компилируется и запускается, но ничего не происходит с представлениями таблиц и т. Д.
Возможно, не следует спрашивать, возможно ли использовать привязки к c ++, а стоит ли они того, что нужно для цели c / cocoa newbie.
Спасибо
Вы правы, я заменил этот код С + +
/ / 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 ++ в классе, поэтому я, вероятно, что-то пропустил с помощью setValue: forKey: ‘
Других решений пока нет …