开发者

"Type name requires a specifier or qualifier" error

I have the following code but can't compile it because I have a "Type name requires a specifier or qualifier" error" for (self).

How to fix this error? I have compared it with the original code and there are no differences, so I don't know what's going on.

#import "CurrentTimeViewController.h"


@implementation CurrentTimeViewController

{
    // Call the superclass's designated initializer
    self = [super initWithNibName:@"CurrentTimeViewController" 
                       bundle:nil];

    if (self) {
        // Get the tab bar item
        UITabBarItem *tbi = [self tabBarItem];

        // Give it a label
        [tbi setTitle:@"Time"];
    }
    return self;
}

Here is the code from the mirror file HynososViewController.h, and which I cut, pasted and modified:

#import "HypnososViewController.h"


@implementation HypnososViewController

- (id) init
{
    // Call the superclass's designated initializer
    self = [super initWithNibName:nil 
                       bundle:nil];

    if (self) {
        // Get the tab bar item
        UITabBarItem *tbi = [self tabBarItem];

        // Give it a label
        [tbi setTitle:@"Hypnosis"];
    }
    return self;
}

- (id) initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle
{
    // Disregard parameters - nib name is an implementation detail
   return [self init];
}

// This method gets called automatically when the view is created
- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"Loaded the view for Hy开发者_开发百科pnosisViewController");

    // Set the background color of the view so we can see it
    [[self view] setBackgroundColor:[UIColor orangeColor]];
}
@end

Here is the complete code for CurrentTimeViewController.h:

#import "CurrentTimeViewController.h"


@implementation CurrentTimeViewController

{
    // Call the superclass's designated initializer
    self = [super initWithNibName:@"CurrentTimeViewController" 
                       bundle:nil];

    if (self) {
         // Get the tab bar item
         UITabBarItem *tbi = [self tabBarItem];

         // Give it a label
         [tbi setTitle:@"Time"];
    }
    return self;
}

- (id) initWithNibName:(NSString *)nibName bundle:(NSBundle *)Bundle
{
     // Disregard parameters - nib name is an implementation detail
     return [self init];
}

 // This method gets called automatically when the view is created
- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"Loaded the view for CurrentTimeViewController");

    // Set the background color of the view so we can see it
    [[self view] setBackgroundColor:[UIColor greenColor]];
}



@end


Is the code above a cut-and-paste of EXACTLY what you are trying to compile? If so, I think you are missing something very important that would make that code block a method implementation:

-(id)init // This, or something like it, is missing???
{
    ...
}

Check your code, here, and in your project. :-)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜