我想从TabBarController加载笔尖。我正在通过分配selectedIndex来完成此操作。通过索引加载的ViewController在TabBarController所在的MainWindow.xib中指定,指定要在每个选项卡栏项中加载的Nib的名称。加载工作,但如果我在ViewController中创建一个IBOutlet来加载并将其链接到任何东西(IBOutlet的对象可以是任何类),那么它会在我分配selectedIndex的行中崩溃。加载从UITabBarController的笔尖问题
编辑>> 我有应用程序委托,它包含一个UITabBarController链接到在MainWindow.xib中创建的UITabBarController对象。
在那个UITabBarController对象中有一些标签栏项目,每个链接到不同的UIViewControllers。这些链接通过属性NIB名称建立。
我试图测试第一个项目链接到一个空的UIViewController,在这种情况下,我叫TestViewController(TestViewController.h,TestViewController.m和TestViewController.xib创建)。我在第一个选项卡栏Item的NIB Name属性中编写了TestViewController。有用。
现在我把一个IBOutlet UILabel放在TestViewController中。我在TestViewController.h中像这样定义它:
#import <UIKit/UIKit.h>
@interface TestViewController : UIViewController {
UILabel *label;
}
@property (nonatomic, retain) IBOutlet UILabel *label;
@end
然后我在TestViewController.m中综合标签对象。我将一个UILabel放在TestViewController.xib中。它仍然有效。
然后我将TestViewController中定义的标签对象链接到我在NIB文件中创建的UILabel。我编译和测试。它不起作用。它在我将selectedIndex分配给应用程序委托中定义的UITabBarController的部分中崩溃。分配是这样做的:
self.tabBarController.selectedIndex = 0;
我使用0,因为我只用第一个选项卡栏项目进行测试。它与SIGABRT信号崩溃。
任何想法,为什么会发生这种情况?
谢谢。我认为这给了我一个提示。 viewControllers数组没有对象。 UIViewController没有进入init或loadView。我不这是为什么,它只发生在我将IBOutlet链接到UILabel时。 – jglievano 2011-03-30 23:04:47