我正在处理 Xamarin IOS/monotouch 项目。 一段时间以来我一直被这个错误所困。这些是代码行
var prfc = this.Storyboard.InstantiateViewController ("testController") as testController;
if (prfc != null) {
this.PresentViewController(prfc,false,null);}
我尝试重命名 viewcontroller、清理和构建解决方案、删除 viewcontroller 并添加一个新的名称 我确保所有拼写都正确,我有相同的 Viewcontroller 名称、StoryBoardID 和 Restoration ID。这就是我在 Designer 部分类中注册我的 View Controller 的方式
[Register ("testController")]
partial class testController
这是我的 appdelegate.cs 代码 `[Register ("AppDelegate")] public partial class AppDelegate : UIApplicationDelegate {//类级声明 UIWindow 窗口; public static UIStoryboard Storyboard = UIStoryboard.FromName ("MainStoryboard", null);公共(public)静态 UIViewController initialViewController;公共(public)覆盖 UIWindow 窗口 { 得到;放;
`[Register ("AppDelegate")] public partial class AppDelegate : UIApplicationDelegate { // class-level declarations UIWindow window; public static UIStoryboard Storyboard = UIStoryboard.FromName ("MainStoryboard", null); public static UIViewController initialViewController; public override UIWindow Window { get; set; }
// This method is invoked when the application is about to move from active to inactive state.
// OpenGL applications should use this method to pause.
public override void OnResignActivation (UIApplication application)
{
}
// This method should be used to release shared resources and it should store the application state.
// If your application supports background exection this method is called instead of WillTerminate
// when the user quits.
public override void DidEnterBackground (UIApplication application)
{
}
// This method is called as part of the transiton from background to active state.
public override void WillEnterForeground (UIApplication application)
{
}
// This method is called when the application is about to terminate. Save data, if needed.
public override void WillTerminate (UIApplication application)
{
}
public override void FinishedLaunching (UIApplication application)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
initialViewController = Storyboard.InstantiateInitialViewController () as UIViewController;
window.RootViewController = initialViewController;
window.MakeKeyAndVisible ();
return ;
}
}`
我已经尝试了所有的可能性,但无法解决这个问题。我添加到 Storyboard 中的每个新 View Controller 都会发生此错误。当我调用 InstantiateViewController 时,我得到一个空值。我试过清理和重建。它适用于模拟器,但不适用于设备
最佳答案
@orkenstein 指出了这个问题。我的目标是 7.1,而在 7.0 设备上进行测试
关于ios - StoryBoard.InstantiateViewController 给出 "Unknown class testController in Interface Builder file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26988872/