[[classA alloc] init];
ClassAの新しいオブジェクトを作成します。ClassAのこの新しいオブジェクトには、独自の新しいツールバーがあります。これは以前に作成されたツールバーではありません。
ClassBから古いツールバーにアクセスするには、ClassAの古いオブジェクトをClassBに渡す必要があります。(デリゲートメソッドを使用することもできます。実行時に、呼び出すクラスが決定されます)
initWithNibName
パラメータ受け渡しメソッドの使用:
のClassB.h
UIViewController *parentController;
-(id)initWithNibNameAndParentController:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil:(UIViewController*)controller;
のClassB.m
-(id)initWithNibNameAndParentController:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil:(UIViewController*)controller {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
parentController = controller;
}
return self;
}
このようなClassAではinitWithNibName
:
objB = [[ClassB alloc] initWithNibNameAndParentController:@"..." bundle:nil :self];
ClassB.mから、希望に応じてClassAツールバーを非表示にします
[((ClassA*)parentController).toolbar sethidden:yes];