【问题标题】:this class is not key value coding-compliant for the key for library project此类与库项目的键不兼容键值编码
【发布时间】:2020-07-21 04:09:57
【问题描述】:

我有一个 Xamarin.iOS 应用项目,它引用了一个 Xamarin.iOS 库项目(类库)。

我正在库项目中创建故事板和 ViewController,但对于所有网点,我都遇到了错误

 this class is not key value coding-compliant for the key 'outlet-name'

当我尝试从库项目中推送/呈现控制器时。

var vc = UIStoryboard.FromName("StoryBoardNameFromLibraryProject", null).InstantiateViewController("vcIdentifier");
PresentViewController(vc, true, null);

我在新解决方案中也遇到了同样的错误。经过多次试验,我发布了这个问题。我尝试了很多东西,比如 product > clean、delete cache、delete bin、obj。但似乎没有任何效果。

编辑

这是显示错误的测试项目。

https://drive.google.com/open?id=1Xf3JqRTFUczt06-h8j6NvMKvzh3ehknd

【问题讨论】:

    标签: xamarin xamarin.ios


    【解决方案1】:

    添加using TestLib; 并将视图控制器转换为TestVC。这应该可以按预期工作:

    private async void Func()
    {
        await Task.Delay(3000);
        var vc = UIStoryboard.FromName("TestSB", null).InstantiateViewController("testVC") as TestVC;
        PresentViewController(vc, true, null);
    }
    

    【讨论】:

    • 我过去只在需要在呈现/推送之前在 ViewControllers 中设置公共属性时才进行强制转换。从类库引用时,如果不进行强制转换,猜猜它不会工作。
    猜你喜欢
    • 2017-09-27
    • 2015-08-27
    • 2011-03-17
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多