ストーリーボードを使用して、2 つの異なるビュー コントローラー (A&B) を設定しました。そのうちの 1 つ (B) には UITextView があります。
View Controller Aからテキストビューのテキストにアクセスして変更するにはどうすればよいですか?
以下のコードではエラーは発生しませんが、関数が正しく呼び出されてもテキストが設定されていません。
[self.desc setText:text];
ViewControllerB の viewDidLoad 内で実行すると動作します。
ViewControllerA.h
@interface ViewControllerA : UIViewController
{
}
@end
ViewControllerA.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
ViewControllerB.h
@interface ViewControllerB : UIViewController
{
UITextView *desc;
}
- (void)setDescription:(NSString *) text;
@property (nonatomic, retain) IBOutlet UITextView *desc;
@end
ViewControllerB.m
#import "ViewControllerB.h"
@interface ViewControllerB ()
@end
@implementation ViewControllerB
@synthesize desc;
- (void)setDescription:(NSString *)text{
NSLog(@"called!");
[self.desc setText:text];
}
@end