启动时自定义视图控制器
Posted
技术标签:
【中文标题】启动时自定义视图控制器【英文标题】:Custom View Controller on launching 【发布时间】:2015-06-29 05:30:04 【问题描述】:离开网格几年后,我重新编写了一个快速的 ios 应用程序,我不得不说我似乎需要回到正轨。 :D
我只是想在启动应用程序时设置Login
视图,但我遇到了以下问题,我已经阅读了很多但无法解决它。模拟在main.m
(@autoreleasepool)
上停止。
仅供参考:我没有使用 Xib 或 Storyboard,因为我正在尝试以编程方式完成所有操作。
libc++abi.dyLibL terminating with uncaught exception of type NSException
它可能来自以下之一。
LoginViewController.h
:
@interface LoginViewController : UIViewController
@end
Test1 / LoginViewController.m
:
我想应该有一个从UIViewController
定义的init
方法,所以我不需要在这里定义一个。
@implementation LoginViewController
@end
Test2 / LoginViewController.m
:
试图用我的自定义 init
函数覆盖。也没有运气。
@implementation LoginViewController
- (id) init
self = [super initWithNibName:nil bundle:nil];
return self;
@end
AppDelegate.m
:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
LoginViewController *loginViewController = [[LoginViewController init] alloc];
// error here
self.window.rootViewController = loginViewController;
[self.window makeKeyAndVisible];
return YES;
不确定这里到底出了什么问题,但它在模拟器上看到黑色 iPhone 屏幕后立即崩溃。
任何帮助表示赞赏! ;)
谢谢。
【问题讨论】:
删除第一行self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
恐怕不会改变任何事情。
self = [super initWithNibName:nil bundle:nil];更改为 self = [super init];
不幸的是同样的问题。
【参考方案1】:
改变这一行
LoginViewController *loginViewController = [[LoginViewController init] alloc];
到
LoginViewController *loginViewController = [[LoginViewController alloc] init];
【讨论】:
我什至不知道该说什么……现在它起作用了。就像我说的那样,我真的需要重新开始……非常感谢!我会尽快接受作为答案。以上是关于启动时自定义视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
删除按钮出现时自定义表格视图单元格中缺少 UISlider 宽度的动画