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

これは、「menuitem」変数がラムダ関数によってキャプチャされる方法の副作用にすぎません。

foreach ループを次のように変更します。

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