Последние два дня я просматривал форумы xamarin и stackoverflow в поисках решения моей проблемы. Я продолжаю получать исключение в моем файле Main.cs «setValue: forUndefinedKey:]: этот класс не соответствует кодированию значения ключа для ключа HeaderLabel. Я относительно новичок в разработке с помощью xamarin.
Пока я пробовал все советы по этой ссылке и безуспешно. Я сделал Build -> Clean -> Rebuild, зашел в папку с решениями и удалил все папки Obj и Bin. Я удалил приложение из своего симулятора. Ошибка по-прежнему сохраняется. Я также попытался повторно связать файл .xib с файлом владельца .cs, удалив право собственности через поле свойств виджета, построив, снова назначив право собственности и построив. https://forums.xamarin.com/discussion/11750/this-class-is-not-key-value-coding-compliant-for-the-key?
Я нашел два свойства выхода в моем xml, которых там не должно было быть, я удалил их, поскольку следующий пост предоставляет их решение и построил решение ios, и я все еще получаю то же исключение. Разрешить «NSUnknownKeyException», причина: этот класс не является ключевым кодирование значений для исключения ключа X »
Другой разработчик, работавший со мной, заметил, что когда он проверил мою ветку, фон метки был сброшен до белого цвета по умолчанию, и приложение будет строиться и запускаться в симуляторе, ничего не показывая (белый шрифт поверх отсутствующего фиолетового фона) и только когда он изменил фон, он получил ошибку.
Последний вариант, который я не пробовал, потому что я не могу делать это каждый раз, когда это происходит, заключается в том, что пользователь, у которого возникли аналогичные проблемы, прибег к удалению файлов ViewController cs / designer / xib и начал с нуля. Я стараюсь избегать этой ситуации, поскольку она не очень жизнеспособна. Любая помощь будет оценена по достоинству. Если требуется какой-либо другой код для изображений, просто дайте мне знать, и я предоставлю их по мере необходимости. Я не знаю, какой еще вариант существует для решения этой проблемы. Спасибо.
Исключение пары "ключ-значение"
Это мой 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)
{
}
}
}