在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.
这是一个基本的c#问题,不是Xamarin或iOS特有的问题。您有一个List<StudObject>
,并且List
的Add
方法接受单个参数StudObject
。
secondViewController.addList.Add(new StudObject { Id = Id, Name = Name, Grade = Grade});
还可以为StudObject
创建一个接受三个参数的构造函数,并执行以下操作
secondViewController.addList.Add(new StudObject(Id, Name, Grade));
最后,您还可以创建一个自定义类StudObjectCollection
,它具有一个接受三个参数的Add
方法,以便您的原始代码可以工作。