在表视图中处理UITextView数据

时间:2010-09-24 14:53:51

标签: iphone cocoa-touch uikit ios4 uitextview

我有这个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执行任何操作?

提前致谢!

1 个答案:

答案 0 :(得分:1)

“延迟加载”是问题 - 视图中的任何内容都会被分配并初始化,直到视图即将出现,因此您只能在viewWillAppear方法中将值设置为textView。