1

異なるView Controllerで複数のNSArrayを管理することは可能ですか?

これが私の例です:

現在、次の 2 つの View Controllerを使用しています。

TableViewControllerはメイン メニューとして機能します。複数のUIButtonsを設定しました。それぞれにタグがあり、ユーザーがボタンを押すと、それらがTableOneViewControllerに移動します。

TableOneViewControllerでは、これまでUIImageViewUIButtonを設定してきました。ユーザーがボタンを押すたびに、UIImageViewはNSArrayを介して画像を変更します。

TableViewController のタグを使用して、 TableOneViewController のNSArrays管理したいと考えています。これは可能ですか?これまでのところ、私のコードは機能していません。

これがコードです。ありがとう!

TableViewController.m

- (IBAction)tableSelection:(id)sender
{

    TableOneViewController *TOVC = [self.storyboard instantiateViewControllerWithIdentifier:@"TableOneViewController"];


    if ([sender tag] == 1) {
        [[NSUserDefaults standardUserDefaults] setObject:TOVC.numOne forKey:@"num"];
        [[NSUserDefaults standardUserDefaults] setObject:@"1.png" forKey:@"num2"];

    }


    if ([sender tag] == 2) {
        [[NSUserDefaults standardUserDefaults] setObject:TOVC.numTwo forKey:@"num"];
        [[NSUserDefaults standardUserDefaults] setObject:@"2.png" forKey:@"num2"];

    }

    if ([sender tag] == 3) {
        [[NSUserDefaults standardUserDefaults] setObject:TOVC.numThree forKey:@"num"];
        [[NSUserDefaults standardUserDefaults] setObject:@"3.png" forKey:@"num2"];

    }


    [self presentViewController:TOVC animated:YES completion:nil];


}

TableOneViewController.m

- (IBAction)nextButton:(id)sender
{
    int index = tableCounter++ % [self.numOne count];
    self.num.image = self.numOne[index];
}

- (void)viewDidLoad
{

    self.num.image = [UIImage imageNamed:[[NSUserDefaults standardUserDefaults] objectForKey:@"num"]];
    self.num2.image = [UIImage imageNamed:[[NSUserDefaults standardUserDefaults] objectForKey:@"num2"]];




    [super viewDidLoad];

    tableCounter = 10;

    self.numOne = [NSArray arrayWithObjects:
                   [UIImage imageNamed:@"2.png"],
                   [UIImage imageNamed:@"3.png"],
                   [UIImage imageNamed:@"4.png"],
                   [UIImage imageNamed:@"5.png"],
                   [UIImage imageNamed:@"6.png"],
                   [UIImage imageNamed:@"7.png"],
                   [UIImage imageNamed:@"8.png"],
                   [UIImage imageNamed:@"9.png"],
                   [UIImage imageNamed:@"10.png"],
                   [UIImage imageNamed:@"1.png"],
                   nil];

    self.numTwo = [NSArray arrayWithObjects:
                   [UIImage imageNamed:@"20.png"],
                   [UIImage imageNamed:@"30.png"],
                   [UIImage imageNamed:@"40.png"],
                   [UIImage imageNamed:@"50.png"],
                   [UIImage imageNamed:@"60.png"],
                   [UIImage imageNamed:@"70.png"],
                   [UIImage imageNamed:@"80.png"],
                   [UIImage imageNamed:@"90.png"],
                   [UIImage imageNamed:@"100.png"],
                   [UIImage imageNamed:@"10.png"],
                   nil];

    self.numThree = [NSArray arrayWithObjects:
                   [UIImage imageNamed:@"200.png"],
                   [UIImage imageNamed:@"300.png"],
                   [UIImage imageNamed:@"400.png"],
                   [UIImage imageNamed:@"500.png"],
                   [UIImage imageNamed:@"600.png"],
                   [UIImage imageNamed:@"700.png"],
                   [UIImage imageNamed:@"800.png"],
                   [UIImage imageNamed:@"900.png"],
                   [UIImage imageNamed:@"1000.png"],
                   [UIImage imageNamed:@"100.png"],
                   nil];
}
4

2 に答える 2