好的所以我有一个应用程序,其中有一个按钮以新模式加载。这个新视图有一个标签栏,并根据其标签栏项标签号插入子视图(带有自己的Xib文件)。一切都很好,但是当我在其中一个子视图中使用Interface Builder连接IBOutlet时,当我转到该选项卡时,它会崩溃应用程序。 IBOutlet是一个UITextField,正在通过其filesOwner(相同的xibs .h和.m文件)进行填充。建筑时我没有收到任何警告。我已经研究了大约一个星期了,并尝试更改界面构建器内的文件所有者类,我试图删除视图并重新创建它们仍然没有,我试图删除并重写我的IBOutlets并删除和在IB中重新连接它们仍然没有。
以下是我的代码,根据标记数字添加了主题:
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
if (item.tag == 2) {
if (classDescriptionsViewController_ == nil) {
classDescriptionsViewController_ = [[UIViewController alloc]initWithNibName:@"secondViewController" bundle:nil];
}
[self.view insertSubview:classDescriptionsViewController_.view belowSubview:tabBar];
if (currentViewController_ != nil && currentViewController_ != classDescriptionsViewController_) {
[currentViewController_.view removeFromSuperview];
}currentViewController_ = classDescriptionsViewController_;
}
if (item.tag == 1) {
[currentViewController_.view removeFromSuperview];
currentViewController_ = nil;
}
if (item.tag == 3) {
if (raceDescriptionsViewController_ == nil) {
self.raceDescriptionsViewController = [[UIViewController alloc]initWithNibName:@"raceDescriptionsViewController" bundle:nil];
}
[self.view insertSubview:raceDescriptionsViewController_.view belowSubview:tabBar];
if (currentViewController_ != nil && currentViewController_ != raceDescriptionsViewController_) {
[currentViewController_.view removeFromSuperview];
}currentViewController_ = raceDescriptionsViewController_;
}}
以下是我的代码,将文字添加到UITEXTFIELD(IBOUTLET):
- (void)viewDidLoad
{
[super viewDidLoad];
self.textField.text = @"PLEASE WORK!";
// Do any additional setup after loading the view from its nib.
}
答案 0 :(得分:0)
我想通了......我必须为该viewcontroller设置委托。