1

我用 2 个方法创建了一个名为 Datahandler 的类。在我的 LoginViewController 中,我可以使用它们,但在另一个 ViewController 中找不到它们。

这是我的 DataHandler.h 文件:

#import <Foundation/Foundation.h>

@interface DataHandler : NSObject

- (int) loginOnServer:(NSString *)username password:(NSString *)password;

- (NSString *) getJsonFromServer;


@end

在我的 LoginViewController 中,找到了这两种方法。

登录视图控制器.m:

#import "DataHandler.h"
...

@interface LoginViewController ()

...

@end

@implementation LoginViewController



- (void) checkLogin:(NSString *)email password:(NSString *) password
{
    DataHandler *dataHandler = [[DataHandler alloc] init];

    int result = [dataHandler loginOnServer:email password:password];

    ...
}

...

@end

FirstViewController.m:

#import "DataHandler.h"
...    

@interface FirstViewController ()

@end

@implementation FirstViewController

- (void)viewDidLoad
{
    ...

    DataHandler *dh = [[DataHandler alloc] init];

    NSString *json = [dh getJsonFromServer];

    ...

}

我得到的是:

FirstViewController.m:32:23: No visible @interface for 'DataHandler' declares the selector 'getJsonFromServer'

我究竟做错了什么?

谢谢你。

编辑1:

在我的项目文件夹中有另一个名为 DataHandler 的旧类,它被用来代替这个。

4

1 回答 1

1

请删除您的或重命名您的另一个 DataHandler 文件并在您的 buildPhases 中提供参考(编译源代码)

如您所见,日志显示没有可见界面,这意味着方法定义在您的另一个 DataHandler.h 中不可用,因此接收器无法获取您的方法的声明。

于 2013-09-02T13:02:02.920 回答