我有这个MainViewController,它是我的表视图的控制器。每当我在表视图上按一行时,我都会转到我的employeeViewController。 这是一个普通视图,里面有文本视图。
所以我的层次结构如下:
-window
- 导航控制器
---导航栏
---主视图控制器
----表格视图
----导航项目
每当我在列表中按一行时,根据给定键的值,我得到一个名为employeeViewController.xib的视图。 他的viewController被称为employeeViewController.h(在File的Owner对象中指定)。
因此,我已将以下项目添加到视图中,具有以下层次结构:
- 查看
- 文字视图
我已将文本视图的委托和引用插座链接到文件的所有者。文件所有者也链接到视图,用于“视图”引用插座。
因此,当我在employeeViewController.m中尝试以下操作时,我的TextView没有响应:
- (id)initWithNibAndEmployeeName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil employeeName:(NSString *)employeeName {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
name = employeeName;
textView.text = name;
}
return self;
}
这是我的employeeViewController.h:
@interface employeeViewController : UIViewController <UITextViewDelegate> {
NSString *name;
IBOutlet UITextView *textView;
}
-(id)initWithNibAndEmployeeName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil employeeName:(NSString *)employeeName;
@end
为什么我不能使用此设置对TextView执行任何操作?
提前致谢!
答案 0 :(得分:1)
“延迟加载”是问题 - 视图中的任何内容都会被分配并初始化,直到视图即将出现,因此您只能在viewWillAppear方法中将值设置为textView。