0

当用户单击 RootElement 时,是否有正确的方法来使用 Monotouch.Dialog (iOs) 并调用 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; 
}

该代码不起作用,因为委托每次都传递相同的元素。

4

1 回答 1

1

这只是 lambda 函数如何捕获“menuitem”变量的副作用。

将您的 foreach 循环更改为如下所示:

foreach (JToken iteratorMenuitem in menucat ["menuitems"]){
    var menuitem = iteratorMenuitem;
    //.. the rest
于 2012-05-03T01:26:29.257 回答