在Xamarin IOS中为列表对象的另一个视图控制器添加值

本文关键字:视图 另一个 控制器 添加 对象 IOS Xamarin 列表 | 更新日期: 2023-09-27 18:19:25

如何将值添加到列表对象并发送到另一个视图控制器

ID = "A0012";
Name = "David"
Grade = "A+"

//类FirstViewController

btn_Add.TouchUpInside += ((object sender, EventArgs e) => {
SecondViewController secondViewController = new SecondViewController();
secondViewController.addList.Add(Id,Name,Grade);
});

//类SecondViewController

        public  List < StudObject > addList;
        public class StudObject{
            public string Id { get; set; }
            public string Name { get; set; }
            public string  Grade { get; set; }
         }
        public override void ViewWillAppear (bool animated){
            base.ViewWillAppear (animated);
            Console.WriteLine ("addList count {0}", addList.Count);
// Count should be one.  extract data (id,name,grade) based on index 
// Example addList[0].name;  //output: David   
        }

显示错误,

 NO Overload for method add take 3 arguments.

在Xamarin IOS中为列表对象的另一个视图控制器添加值

这是一个基本的c#问题,不是Xamarin或iOS特有的问题。您有一个List<StudObject>,并且ListAdd方法接受单个参数StudObject

secondViewController.addList.Add(new StudObject { Id = Id, Name = Name, Grade = Grade});

还可以为StudObject创建一个接受三个参数的构造函数,并执行以下操作

secondViewController.addList.Add(new StudObject(Id, Name, Grade));

最后,您还可以创建一个自定义类StudObjectCollection,它具有一个接受三个参数的Add方法,以便您的原始代码可以工作。