我已经在这几个小时了。我在这个项目中有几个View Controllers而且没有一个会导致问题,但现在突然间这个新的了。我甚至删除了它并制作了一个“测试”视图控制器,但没有骰子。我可以告诉它最好的不是实际创建它的视图,因此当引用视图时应用程序崩溃。除了-viewDidLoad方法中的日志语句之外,测试VC没有添加或删除的代码。我没有覆盖-loadView。我已经尝试将视图添加到子视图,尝试将VC推入导航控制器,我甚至尝试过简单地记录test.view。我尝试使用NIB创建VC并且没有使用它进行了尝试。绝对没有任何作用。任何帮助将不胜感激。
在另一个VC内创建VC的位置。日志声明导致崩溃。但是添加作为子视图甚至推入导航控制器也是如此。
TestViewController *test = [[TestViewController alloc] init];
NSLog(@"test view = ", test.view);
TestViewController的实现。
@implementation TestViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(@"view = %@", self.view);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
答案 0 :(得分:1)
我要说仔细检查视图中的所有连接。特别是如果它被复制或移动,因为它很容易留下与旧VC的连接
答案 1 :(得分:0)
如果您未在项目中使用ARC,则不要检查nib文件的autolayout框。如果您使用ARC,那么它与文件所有者的连接可能是唯一的问题。
答案 2 :(得分:0)
如果您使用xib,并且项目是从其他xib或storyboard复制的,请确保根视图存在,然后将其拖动到文件的所有者。