有没有正确的方法来使用Monotouch.Dialog(iOs)并在用户点击RootElement时调用UIViewController?我正在构建一个基于数组的数据页面,当点击时我想打开这个自定义视图并传入数组元素。这样的东西(不起作用)。任何帮助表示赞赏。
RootElement CreateMenuCategory(JToken menucat) {
RootElement MenuCategory = new RootElement(menucat["menucategoryname"].Value<String>());
RootElement root_element;
Section section = new Section();
foreach(JToken menuitem in menucat["menuitems"]) {
root_element = new RootElement(menuitem["menuitemname"].Value<String>(), (RootElement e) => {
return _menuitemView.LoadMenuItem(menuitem); // menuitem on view is always the same
});
section.Add (root_element);
}
MenuCategory.Add (section);
return MenuCategory;
}
该代码不起作用,因为委托每次都会传入相同的元素。
答案 0 :(得分:1)
这仅仅是lambda函数捕获“menuitem”变量的副作用。
将foreach循环更改为:
foreach (JToken iteratorMenuitem in menucat ["menuitems"]){
var menuitem = iteratorMenuitem;
//.. the rest