基本上我在一个名为MyClassXY的类中有五个属性。在我的MyClassXY.m中,我有一个每0.1秒调用一次的nstimer,并将这些属性设置为我从Main_game_scene viewcontroller类设置这些属性的任何值。但是我在Main_Select_level视图控制器中分配了MyClassXY。解决此问题的唯一方法是将MyClassXY对象从Main_Select_level传递给Main_game_scene视图控制器,还是有一些方法可以解决这个问题。我不想分配一个全新的MyClassXY对象,因为它有一大堆其他类需要与之交互的其他变量。也许是班级方法?
抱歉新手问题。
答案 0 :(得分:0)
您可以将MyClassXY修改为singleton。然后,您可以在程序中的任何位置获得对它的引用,但它始终是相同的实例。例如,[UIApplication sharedApplication]是一个单例。
答案 1 :(得分:0)
这取决于Main_game_scene和Main_Select_level的关联方式。从第一个到第二个是否有一个segue?莫代尔还是推?哪一个先来?然后,您可以将对象从源视图控制器传递到目标视图控制器。 如果您的所有应用都需要一个(也是一个)MyClassXY类实例,请使用Singleton。
答案 2 :(得分:0)
您目前使用以下方式创建和展示游戏:
ViewController *viewcont = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
[view2 presentViewController:viewcont animated:NO completion:nil];
通过管理游戏中心互动的课程(使用你的计时器),你需要做的就是:
ViewController *viewcont = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
viewcont.scoreController = self.scoreController;
[view2 presentViewController:viewcont animated:NO completion:nil];
其中scoreController
是ViewController
上的一个属性,用于保存对游戏中心交互控制器的引用,self.scoreController
是您之前创建的该类的实例。