3 つのビュー コントローラーを持つ UITabBar コントローラーがあります。マップビューコントローラーとテーブルビューコントローラーである2つのビューコントローラーを更新しようとしています。スライドのアクションで 3 番目のビュー コントローラーから。ここで私が試したこと:
- (IBAction)actionMySlider:(id)sender{
NSNumberFormatter* numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior: NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle: NSNumberFormatterDecimalStyle];
NSString *numberString = [numberFormatter stringFromNumber: [NSNumber numberWithInteger: mySlider.value]];
MetreLabel.text = [NSString stringWithFormat:@"Yarı Çap(Re): %@(m)",numberString];
[(AppDelegate *)[[UIApplication sharedApplication] delegate] setVariable:[NSString stringWithFormat:@"%f",mySlider.value]];
ViewController1 *VC1=[[ViewController1 alloc]init];
[VC1 viewDidLoad];
ViewController2 *VC2 = [[ViewController1 alloc]init];
[VC2 viewDidLoad];
}
回答ありがとうございます。
編集 回答によると、私のアプローチはTabBar.mでforループを実装しています。しかし、これを実装する際にいくつかの問題があります。
for (UIViewController *v in self.tabBar.viewControllers)
{
UIViewController *vc = v;
if ([v isKindOfClass:[UINavigationController class])
{
vc = [v visibleViewController];
}
if ([vc isKindOfClass:[MyViewController class]])
{
MyViewController *myViewController = vc;
[vc doSomething];
}
}
- 問題:self.tabBar.viewControllersのviewcontrollersの代わりに何を書けばいいですか?私はそれを理解できませんでした。
- 問題: TabBar.m のメソッドに for ループを実装した後、そのメソッドを呼び出すことで、別のビューコントローラーからビューコントローラーにアクセスできますか?