在同一个View Controller上调用其他类中的方法

时间:2014-04-25 21:07:58

标签: objective-c

我真的搞砸了。我已经阅读了一些教程和示例,但我不知道该怎么做。

我有一个带GamePlay类的View Controller。在同一个View Controller上我有一个sprite kit类。现在从SK类我想从GamePlay类中调用一个解除View Controller的方法。但我知道我不能用创建class1的新实例来做到这一点。我想从已经创建和加载的class1中调用一个方法。

任何帮助?

在sprite kit类中,我导入了GamePlay.h文件,现在我调用了一个方法结束:

 -(void)endOfGame
 {
     GamePlay *gp = [[[GamePlay alloc]init];
     [gp end];

 }

在GamePlay类中,我有方法结束,解除了这个视图控制器

 -(void)end
 {
      [self dismissViewControllerAnimated:YES completion:nil];
 }

但这不会奏效。因为我没有调用已创建类的方法表单,但我正在创建一个新的GamePlay类实例。

1 个答案:

答案 0 :(得分:0)

你的问题有点......不清楚。但是,我想我得到了你所要求的。从本质上讲,"如何将我的GamePlay对象引用到另一个类中?"

有几种方法可以做到这一点,具体取决于两个类之间的确切关系。我还没有亲自熟悉SpriteKit(但是),但你应该可以只为你的其他类添加一个属性:

//MyOtherClass.h
#import "GamePlay.h"

@interface MyOtherClass : NSObject

@property GamePlay * gamePlay;

@end


//MyOtherClass.m
-(void)endOfGame
{
    [self.gamePlay end];
}

//Wherever you are creating/using MyOtherClass
MyOtherClass* myOtherClass = ...

myOtherClass.gamePlay = self; //or whatever