是否可以从Swift中的ViewController调用方法(用Gamescene编写)? 我阅读了有关协议,委托或继承的内容,但我看到的所有教程都没有显示这种情况。
感谢您的帮助。
答案 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?