Как я могу передавать данные между представлениями через segue в приложении Xamarin.mac Cocoa? - PullRequest
1 голос
/ 24 марта 2019

Я занимаюсь разработкой Xamarin.Mac Какао приложения на C # с visual studio для Mac .

Я хотел бы передать объект из моего первого контроллера представления в следующий контроллер представления.У меня есть сеанс под названием LaunchSecondView, который запускает второй вид.И мне нужен объект class Person с первого взгляда во второй.

1 Ответ

1 голос
/ 24 марта 2019

Во-первых, вам нужно установить публичное свойство в вашем втором контроллере представления:

public Person MainPerson { get; set; }

Вам нужно переопределить метод, названный PrepareForSegue. Внутри него вы идентифицируете контроллер назначения (ваше второе представление), и в случае, если у вас есть несколько сегментов, хорошей практикой является использование оператора switch case.

public override void PrepareForSegue(NSStoryboardSegue segue, NSObject sender)
{
    base.PrepareForSegue(segue, sender);

    switch (segue.Identifier)
    {
        case "LaunchSecondView":
            {
                SecondViewClass target = segue.DestinationController as SecondViewClass;
                target.Person = CurrentPerson;
            }
            break;
    }
}
...