Этот класс не совместим со значением ключа для ключа navItem - PullRequest
2 голосов
/ 28 июня 2011

Я работаю над своим первым приложением для iOS.Теперь я пытаюсь связать UINavigationItem с * navItem.Но когда я это сделал, я получаю сообщение об ошибке: этот класс не соответствует значению ключа для кодирования navItem.

Я погуглил эту ошибку и обнаружил, что эта ошибка обычно вызвана одной или двумяпроблемы.Во-первых, @synthesize был забыт.Во-вторых, класс Владельца файла установлен неправильно.

Но это не решение моей проблемы, потому что эти 2, кажется, верны в моем коде.Я отлаживал больше половины дня, но так и не нашел решения.

Это мой код:

Файл TestTab.h

#import <UIKit/UIKit.h>


@interface TestTab : UIViewController {
    IBOutlet UINavigationItem *navItem;
}
@property (nonatomic, retain) UINavigationItem *navItem;

@end

Файл TestTab.m:

#import "TestTab.h"


@implementation TestTab
@synthesize navItem;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)dealloc
{
    [super dealloc];
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

The XIB/Interface builder file

The Fileowner class

Может кто-нибудь увидеть, в чем проблема?

...