我正在开发一个 iPhone 应用程序,并且在我的控制器中获得对 IBOutlet 字段的(空)引用。我有一个 UIViewController 子类,它在我的 XIB 中设置为文件的所有者。我有一组连接到控制器的 UI 元素。从 NIB 加载并尝试在这些 UI 元素上设置属性后,我发现它们是 (null)。为了澄清,一些代码:
ExpandSearchPageController.h:
@interface ExpandSearchPageController : UIViewController
{
IBOutlet UITextView * completeMessageView;
}
-(void)checkTextField;
@property (nonatomic, retain) IBOutlet UITextView * completeMessageView;
展开搜索页面控制器.m:
@implementation ExpandSearchPageController
@synthesize completeMessageView;
-(void)checkTextField
{
NSLog(@"text field: %@",completeMessageView);
}
ExpandSearchPageController 设置为 ExpandSearchPage.xib 的文件所有者。ExpandSearchPage.xib 的 UITextView 连接到 completeMessageView。
当我打电话
ExpandSearchPageController * searchExpanderPage = [[ExpandSearchPageController alloc] initWithNibName:@"ExpandSearchPage" bundle:[NSBundle mainBundle]];
[searchExpanderPage checkTextField];
结果是
"text field: (null)"