SubViewTwoController未声明(首次在此函数中使用)(obj-c)

时间:2009-09-04 18:44:59

标签: objective-c iphone cocoa-touch

Ahoy hoy大家:)

Here是一个链接列表。阅读帖子时你会需要它。

我是Objective-C的新手,并尝试为iPhone-App-Development学习它。我使用链接列表中链接的教程来创建一个带有简单基本导航的标准应用程序。 此应用程序包含启动时显示的“RootView”。启动屏幕本身包含三个链接到SubViewOne的元素。 我到目前为止已经有了这个工作。 所以我想改变的是将第二个元素链接到SubViewTwo。

当我“Build and Go”时,我收到以下错误:

RootViewController.m:

SubViewTwoController *subViewTwoController = [[SubViewTwoController alloc] init];  

// SubViewTwoController未声明(首次在此函数中使用)

并在SubViewTwoController.m

[super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview

没有在@interface中为'SubViewTwoController'声明的超类

之后的事情相同
- (void)dealloc {
    [super dealloc];

我认为你还需要头文件,所以在这里!

RootViewController.h

#import <UIKit/UIKit.h>  

@interface RootViewController : UITableViewController {  
    IBOutlet NSMutableArray *views;  
}  

@property (nonatomic, retain) IBOutlet NSMutableArray *views;  

@end  

SubViewOneController.h

#import <UIKit/UIKit.h>  

@interface SubViewOneController : UIViewController {  
    IBOutlet UILabel *label;  
    IBOutlet UIButton *button;  
}  

@property (retain,nonatomic) IBOutlet UILabel *label;  
@property (retain,nonatomic) IBOutlet UIButton *button;  

- (IBAction) OnButtonClick:(id) sender;  

@end  

和SubViewTwoController.h

#import <UIKit/UIKit.h>


@interface SubViewTwo : UIViewController {
      IBOutlet NSMutableArray *views;  
}

@end

如果你想用简短的解释留下你的想法,我会非常棒。 非常感谢提前!

1 个答案:

答案 0 :(得分:2)

这里发生了一些事情:

  1. @interface SubViewTwo : UIViewController {
  2. 您的类名为“SubViewTwo”,而不是“SubViewTwoController”

    1. 没有在@interface中为'SubViewTwoController'
    2. 声明的超类

      您的类名为“SubViewTwo”,而不是“SubViewTwoController”。你可能在文件的顶部有@implementation SubViewTwoController

      最简单的解决方法是将SubViewTwoController.h中的@interface行更改为:

      @interface SubViewTwoController : UIViewController {

      然后不要忘记#import "SubViewTwoController.h文件中的RootViewController.m