私は2つのビューコントローラvc1とvc2を持っています。Xcode Objective C - 別のクラスからUILabelテキストを変更する
vc1にはUILabelがあります。 vc2にはUIButtonがあります。 vc2でボタンをクリックすると、vc1のuiLabel上のテキストを変更したい。それ、どうやったら出来るの?
vc1.h
@interface vc1 : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *textLabel;
@end
vc1.m
@interface vc1()
@end
@implementation vc1
@synthesize textLabel = _textLabel;
@end
vc2.m
#import "vc2.h"
#import "vc1.h"
@interface vc2()
@end
@implementation vc2
- (IBAction)onClick:(id)sender {
vc1 *vc1Object = [[vc1 alloc] init]; //create object
[email protected]"New Text"; //set new text
}
それはCですので、私の上記のコードは動作しません。元のプロパティにアクセスするのではなく、新しいインスタンスを更新します。しかし、私はIBOutletsのゲッター/セッターの作成方法や、別の方法があるかどうかはわかりません。 UIlabelのテキストを2番目のviewcontrollerからどのように変更するのですか?
ご協力いただければ幸いです。前もって感謝します。
あなたは、このいずれかを使用することができます - 1. 'NSNotificationCenter' 2.'KVO' 3.' Delegates' 4。 「ブロック」 – pkc456
v1とv2をどのように管理していますか?あなたはv2からv1に向かいますか?またはこのv1とv2はuiviewcontainersですか?またはあなたがv2からv1に戻ってきます - 方法は異なっています – Nazir
@ pkc456私はNSNotificationCenterを使用して終了しました、あなたの助けをありがとう! – hmzfier