如何从ViewController调用方法?

时间:2014-10-13 10:34:51

标签: inheritance methods swift delegates protocols

是否可以从Swift中的ViewController调用方法(用Gamescene编写)? 我阅读了有关协议,委托或继承的内容,但我看到的所有教程都没有显示这种情况。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

试试这个。

ViewController类中的

#import "Gamescene.h"

Gamescene *obj = [[Gamescene alloc] init];

[Gamescene methodName];

并且忘记在Gamescene.h文件中添加方法名称..

在Swift中

class SomeClass {
    class func someTypeMethod() {
    // type method implementation goes here
}

}

SomeClass.someTypeMethod()

您可以了解here apple文档。

答案 1 :(得分:0)

您可以通过以下方式调用方法

  • 如果某个方法在您的视图控制器中,那么您可以使用self进行调用,查看问题寻求帮助,How can I call a method in Objective-C?

    [self yourMethodName];

    如果是类方法,那么[ClassName yourMethodName];

  • 如果您的方法来自其他类,只有#import#import "someclass.h"那么相同,请创建该类的对象并调用,请检查此方法以获取更多帮助,{{3} }

    someclass *obj = [[someclass alloc] init];

    [obj methodName];

    如果是类方法,那么[someclass methodName];检查问题寻求帮助,Objective C - Call method from another class

  • 与代表联系,如果您是someclass的自助代表,那么在someclass,您可以这样称呼它,检查问题,calling class methods objective c

    if(self.delegate && [self.delegate respondsToSelector(methodName)]) {       [self.delegate methodName];  }

    在您的视图控制器中,您必须这样写,

    someclass *obj = [[someclass alloc] init]; obj.delegate = self;

    - (void)methodName {     //call when delegate calls it. }

  • 另一种方法是NSNotificationCenter,请参阅此问题以获取详细帮助,How do I create delegates in Objective-C?