Objective c 如何使用来自不同类的方法

Objective c 如何使用来自不同类的方法,objective-c,methods,Objective C,Methods,我想做的很简单,但我不明白我做错了什么。我有一个按钮,点击后,将转到另一页。加载不同页面的方法在不同的类中,在我想要使用它的地方初始化它时,我看不到任何属于该类的方法 这是我的 //HomeViewController.h #import <UIKit/UIKit.h> #import "PhotoView.h" #import <CoreLocation/CoreLocation.h> #import "Reachability.h" #import "BottomT

我想做的很简单,但我不明白我做错了什么。我有一个按钮,点击后,将转到另一页。加载不同页面的方法在不同的类中,在我想要使用它的地方初始化它时,我看不到任何属于该类的方法

这是我的

//HomeViewController.h

#import <UIKit/UIKit.h>
#import "PhotoView.h"
#import <CoreLocation/CoreLocation.h>
#import "Reachability.h"
#import "BottomTableViewController.h"

@protocol HomeViewControllerDelegate <NSObject>

    @optional
    - (void)moveToShowBottomTableView;
    - (void)moveToHideBottomTableView;
    - (void)sendDescriptionToBottomTableView;

@end

@interface HomeViewController : UIViewController<UIScrollViewDelegate, BottomTableViewControllerDelegate>{
    IBOutlet UIScrollView *gridView;

    CLLocationManager *locationManager;
    CLLocationCoordinate2D userCoordinate;
    CLLocation *initialCoordinate;

    Reachability *internetReachable;
    Reachability *hostReachable;

}

@property (assign, nonatomic) int fromMapView;
@property (retain, nonatomic) NSArray *clusteredPhotoIDs;
@property (strong, nonatomic) IBOutlet UILabel *schoolTitle;

@property (strong, nonatomic) IBOutlet UIButton *showDetailsButton;
@property (assign, nonatomic) id<HomeViewControllerDelegate> delegate;
@property (strong, nonatomic) IBOutlet UILabel *bottomTableViewTitle;
- (IBAction)refreshButton:(id)sender;
- (IBAction)next:(id)sender;
- (IBAction)prev:(id)sender;

@property (retain, nonatomic) NSString *subviewDescription;
@property (retain, nonatomic) NSString *subviewCopyright;
@property (retain, nonatomic) NSString *subviewAddress;
@property (retain, nonatomic) NSString *photoIDNumber;

@end
HomeViewController.m

 #import "HomeViewController.h"
-(IBAction)nextPage:(id)sender{
    HomeViewController *homeScreen = [[HomeViewController alloc] init];
   // [homeScreen loadPage];//THIS DOESN'T WORK
}
- (void)loadPage:(NSInteger)page {
    // Do stuff
}
我在标记为“不工作”的零件中发现此错误:
HomeViewController没有可见的@interface声明选择器加载页


感谢您提供的任何帮助。

您的方法收到一个整数,而您没有发送任何内容
[主屏幕加载页:(NSInteger)]

- (void)loadPage:(NSInteger)page {
    // Do stuff
}

啊。您需要将方法声明添加到.h文件中。添加行
-(void)加载页面:(NSInteger)页面
HomeViewController.h
文件的
@界面
部分。这将使该方法可在其类之外使用。 编辑:另外,我支持我之前所说的,你还需要以某种方式展示新的视图控制器。。。
另一个编辑:您还需要确保方法名称和参数列表是等效的。

Define“not work”。编译器错误?运行时错误?是否实际调用了
loadPage
,但没有执行您想要的操作?请使用相关详细信息更新您的问题。HomeViewController没有可见的@界面声明选择器加载页面您是否实际演示/推送新的视图控制器(
主屏幕
)?如果不是,那很可能是您的问题。HomeViewController.h看起来像什么?但是OP没有尝试调用
loadPage:
。他们正在尝试调用名为
loadPage
(请注意缺少参数)的方法。为大家的困惑感到抱歉,我想说的是,我无法从HomeViewController中看到任何方法。所以被注释掉的部分,//[主屏幕加载页]//这不起作用,因为它是不起作用的,但我的观点是,我根本看不到loadPage方法。如果从类外部看不到类内部的方法,只需按照我的建议将方法定义添加到.h文件中即可。