对于关键的HeaderLabel异常,此类不符合键值编码

时间:2017-08-10 18:30:47

标签: ios xamarin.ios key key-value

在过去的两天里,我一直在寻找xamarin论坛和stackoverflow来解决我的问题。我在Main.cs文件中继续得到一个异常“setValue:forUndefinedKey:]:这个类与密钥HeaderLabel不符合密钥值编码。我对使用xamarin进行开发相对较新。

到目前为止,我已经尝试过此链接中的所有提示,但没有成功。我做了Build - >清洁 - >重建,我进入解决方案文件夹并删除了所有的Obj和Bin文件夹。我从我的模拟器中删除了该应用程序。错误仍然存​​在。我还尝试将.xib文件重新链接到其.cs所有者文件,方法是通过窗口小部件的属性字段删除所有权,构建,重新分配所有权并构建。 https://forums.xamarin.com/discussion/11750/this-class-is-not-key-value-coding-compliant-for-the-key

我确实在我的xml中找到了两个不应该存在的出口属性,我删除了它们,因为以下帖子提供了他们的解决方案并构建了ios解决方案,我仍然得到相同的异常。 Resolve "'NSUnknownKeyException', reason:This class is not key value coding-compliant for the key X” exception

另一位与我合作的开发人员注意到,当他检查我的分支时,标签的背景被重置为其默认的白色,应用程序将在模拟器中构建并运行,不显示任何内容(白色字体在缺少紫色的顶部)直到他改变背景才得到错误。

我没有尝试过的最后一个选项,因为我每次发现都无法做到这一点,是遇到类似问题的用户使用了从头开始删除ViewController cs / designer / xib文件。我试图避免这种情况,因为它不太可行。任何帮助,将不胜感激。如果需要任何其他代码图片,请告诉我,我会根据需要提供。我不知道有什么其他选择可以解决这个问题。感谢。

Key value pair exception

这是我的WelcomeViewController.xib

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6211" systemVersion="14A298i" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
    </dependencies>
    <objects>
        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="WelcomeViewController">
            <connections>
                <outlet property="HeaderLabel" destination="5" id="name-outlet-5"/>
            </connections>
        </placeholder>
        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
        <view contentMode="scaleToFill" id="2">
            <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
            <subviews>
                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Welcome" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="5" translatesAutoresizingMaskIntoConstraints="NO" fixedFrame="YES">
                    <rect key="frame" x="0.0" y="0.0" width="375" height="53"/>
                    <fontDescription key="fontDescription" type="system" pointSize="24"/>
                    <color key="textColor" colorSpace="calibratedRGB" red="1" green="1" blue="1" alpha="1"/>
                    <nil key="highlightedColor"/>
                    <color key="backgroundColor" colorSpace="calibratedRGB" red="0.34901960784313724" green="0.00784313725490196" blue="0.43137254901960786" alpha="1"/>
                </label>
            </subviews>
        </view>
    </objects>
    <simulatedMetricsContainer key="defaultSimulatedMetrics">
        <simulatedScreenMetrics key="destination" type="retina47"/>
    </simulatedMetricsContainer>
</document>

WelcomeViewController.Designer.cs

namespace ConnectContacts.Ios.Views.View 
{
    [Register ("WelcomeViewController")]
    partial class WelcomeViewController
{
    [Outlet]
    [GeneratedCode ("iOS Designer", "1.0")]
    UIKit.UILabel HeaderLabel { get; set; }

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

WelcomeViewController.cs

using ConnectContacts.Business.ViewModels;
using MvvmCross.iOS.Views;

namespace ConnectContacts.Ios.Views
{
    public class WelcomeViewController : MvxViewController<WelcomeViewModel>
    {
        public WelcomeViewController() : base("WelcomeViewController", null)
        {
        }
    }
}

0 个答案:

没有答案