gpt4 book ai didi

c# - 不符合键值编码(Monotouch 和 iOS 6)

转载 作者:IT王子 更新时间:2023-10-29 08:14:59 25 4
gpt4 key购买 nike

我刚刚将我的 Monotouch 升级到 6,现在我的应用无法启动。它以前工作没有任何问题。现在它在 Main.cs 文件中抛出异常(如下所列)。我查看了 Xamarin 上的故障排除提示,但没有解决问题。我重新布置了 nib 文件,删除并重新配置了我的 socket ,并创建了一个全新的 nib 以查看是否可以解决问题。其他人有什么想法吗?

MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown.  Name: NSUnknownKeyException Reason: [<UIApplication 0xc84bb10> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key btnNewAccount.
at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38
at Pokr.Application.Main (System.String[] args) [0x00000] in /Users/James/Projects/App/Main.cs:17

来自 LoginView.designer.cs 的代码:

[Register ("LoginView")]
partial class LoginView
{
[Outlet]
MonoTouch.UIKit.UIImageView imgLogo { get; set; }

[Outlet]
MonoTouch.UIKit.UITextField txtEmail { get; set; }

[Outlet]
MonoTouch.UIKit.UITextField txtPassword { get; set; }

[Outlet]
MonoTouch.UIKit.UIButton btnLogin { get; set; }

[Outlet]
MonoTouch.UIKit.UIButton btnNewAccount { get; set; }

[Outlet]
MonoTouch.UIKit.UILabel lblSecurityNotice { get; set; }

[Outlet]
MonoTouch.UIKit.UIImageView imgKeyboardBorder { get; set; }

void ReleaseDesignerOutlets ()
{
if (imgLogo != null) {
imgLogo.Dispose ();
imgLogo = null;
}

if (txtEmail != null) {
txtEmail.Dispose ();
txtEmail = null;
}

if (txtPassword != null) {
txtPassword.Dispose ();
txtPassword = null;
}

if (btnLogin != null) {
btnLogin.Dispose ();
btnLogin = null;
}

if (btnNewAccount != null) {
btnNewAccount.Dispose ();
btnNewAccount = null;
}

if (lblSecurityNotice != null) {
lblSecurityNotice.Dispose ();
lblSecurityNotice = null;
}

if (imgKeyboardBorder != null) {
imgKeyboardBorder.Dispose ();
imgKeyboardBorder = null;
}
}

Main.cs 中的代码(代码中断的地方):

    static void Main (string[] args)
{
UIApplication.Main (args, null, "AppDelegate");
}

这是我的 AppDelegate 中我调用 ViewController 的片段:

        var rootNavigationController = new UINavigationController();

LoginView loginScreen = new LoginView();
rootNavigationController.PushViewController(loginScreen, false);

this.window.RootViewController = rootNavigationController;

//blank function fires so the getter will init the singleton.
Singleton.Instance.Initialize();

// make the window visible
window.MakeKeyAndVisible ();


return true;

最佳答案

当您在代码中初始化了一个 ViewController 但同时还从 XIB 文件中初始化了 ViewController 时会发生此错误。

如果您将“主界面”值设置为您在代码中创建的 ViewController,则可能会发生这种情况。要解决此问题,请将此值设为空,然后不会自动初始化 ViewController

同时检查您的 pInfo 文件以查看是否设置了主界面。

感谢 @BartXamarin 用户提供此提示:

在 Xamarin Studio (v.4) 中右键单击项目,选择 “选项”,然后在 “iOS 项目” 下(“iPad 部署信息”部分)。清除下拉列表 'Main Interface',这应该可以解决问题。

关于c# - 不符合键值编码(Monotouch 和 iOS 6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12574444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com