使用情节提要,我设置了两个不同的视图控制器 (A&B),其中一个 (B) 具有 UITextView。
如何从 View Controller A 访问和更改 textview 中的文本?
下面的代码没有给出任何错误,但没有设置文本,即使该函数被正确调用。
如果我[self.desc setText:text];
在 ViewControllerB 的 viewDidLoad 内运行,它可以工作。
ViewControllerA.h
@interface ViewControllerA : UIViewController
{
}
@end
视图控制器A.m
#import "ViewControllerA.h"
#import "ViewControllerB.h"
@interface ViewControllerA ()
@end
@implementation ViewControllerA
- (void)viewDidLoad
{
[super viewDidLoad];
ViewControllerB *bInstance = [[ViewControllerB alloc] init];
[bInstance setDescription:@"this is some new text";
}
@end
视图控制器B.h
@interface ViewControllerB : UIViewController
{
UITextView *desc;
}
- (void)setDescription:(NSString *) text;
@property (nonatomic, retain) IBOutlet UITextView *desc;
@end
视图控制器B.m
#import "ViewControllerB.h"
@interface ViewControllerB ()
@end
@implementation ViewControllerB
@synthesize desc;
- (void)setDescription:(NSString *)text{
NSLog(@"called!");
[self.desc setText:text];
}
@end