Простой переход не работает в Xamarin

Я пытаюсь выполнить простой переход в своем приложении с помощью студии xamarin. Я использовал раскадровку, чтобы инициировать переход с помощью функции «модально представить», но каждый раз, когда я нажимаю кнопку для выполнения перехода в симуляторе, я получаю следующую ошибку:

Не удалось выполнить маршалинг объекта Objective-C 0x7f8018511770 (тип: loginViewController). Не удалось найти существующий управляемый экземпляр для этого объекта или создать новый управляемый экземпляр (поскольку тип iOSApp.loginViewController не имеет конструктора, который принимает один аргумент IntPtr).

Есть идеи относительно того, что может быть причиной проблемы? Я также приложил снимок экрана с моим файлом main.storyboard.

main.storyboard

Следующие ниже фрагменты кода - это мои ViewController.cs файлы и loginViewController.cs коды.

using System;

using UIKit;

namespace iOSApp
{
    public partial class ViewController : UIViewController
    {
        protected ViewController(IntPtr handle) : base(handle)
        {
            // Note: this .ctor should not contain any initialization logic.
        }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.
        }

        public override void DidReceiveMemoryWarning()
        {
            base.DidReceiveMemoryWarning();
            // Release any cached data, images, etc that aren't in use.
        }
     }
}

а также

using System;

using UIKit;

namespace iOSApp
{


    public partial class loginViewController : UIViewController
    {
        public loginViewController(IntPtr handle) : base(handle)
        {
        }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.
        }

        public override void DidReceiveMemoryWarning()
        {
            base.DidReceiveMemoryWarning();
            // Release any cached data, images, etc that aren't in use.
        }


    }
}

person bananibau5    schedule 06.04.2017    source источник
comment
Ваш loginViewController .actor вызывает неправильную базу, измените ее так, чтобы она совпадала с указанными в моем ответе   -  person SushiHangover    schedule 06.04.2017
comment
И на будущее, пожалуйста, не добавляйте скриншоты кода, добавляйте код как текст. Это доступно для поиска и легко просматривается другими, скриншоты нет ... ;-)   -  person SushiHangover    schedule 06.04.2017
comment
Изменен вопрос, чтобы отразить предложения, а также код (как показано выше), однако при запуске в симуляторе такая же проблема с тем же кодом ошибки   -  person bananibau5    schedule 06.04.2017
comment
Теперь это должно сработать, убедитесь, что вы все очистили и перестроили, удалите старое приложение из симулятора или устройства, чтобы убедиться, что вы запускаете новое.   -  person SushiHangover    schedule 06.04.2017
comment
Чисто сработало, спасибо, сэр.   -  person bananibau5    schedule 06.04.2017


Ответы (1)


В вашем классе LoginViewController убедитесь, что у вас есть следующий конструктор, чтобы его можно было надуть из раскадровки:

protected YourClassNameViewController(IntPtr handle) : base(handle)
{
    // Note: this .ctor should not contain any initialization logic.
}

Если ваше имя класса loginViewController, то ваш класс будет выглядеть примерно так:

protected partial class loginViewController : UIViewController
{
    public loginViewController(IntPtr handle) : base (handle)
    {
       // Note: this .ctor should not contain any initialization logic.
    }

    ~~~~ rest of class
}
person SushiHangover    schedule 06.04.2017
comment
все еще приводит к той же ошибке, я собираюсь отредактировать вопрос, включив в него скриншоты ViewController.cs и loginViewController.cs - person bananibau5; 06.04.2017