我试图创建一个可以从不同的viewControllers调用的方法。
我有一个名为Info.h / Info.m的类,我有一个方法: -
-(void) testFunc {
... Do something here
}
然后我想在我的ViewController中调用这个函数。我尝试了以下但我无法运行testFunc。
#import "ViewController.h"
#import "Info.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
Info *targetsInstance = [[Info alloc] init];
[targetInstance testFunc];
}
@end
当我输入[targetInstance testFunc]时,我得到错误"没有可见的@interface用于'信息'声明选择器' testFunc'"
答案 0 :(得分:3)
在Info.h
文件中,您必须在-(void) testFunc
部分中声明@interface
作为方法
@interface Info: UIViewController {
}
-(void) testFunc;
@end
答案 1 :(得分:1)
假设您声明info
类(我建议使用大写字母表示名称),请正确替换:
[info testFunc];
使用:
[targetsInstance testFunc];
由于该方法是一种实例方法(由于' - '字符),您需要一个实例来调用它。