无法从(NSCustomObject)连接(BinetMenuItem)插座到(NSMenuItem):缺少setter或实例变量

时间:2015-04-17 23:09:34

标签: objective-c macos

我在更新到 Xcode 6.3和OS X 10.10.3 后重新编译了一些以前正在运行的代码,并得到了上述错误。我已经声明了一个名为BinetMenuItem的@property并使用了@synthesize(我认为它创建了getter和setter)。以下是相关代码,首先来自头文件:

@interface AppDelegate : NSObject <NSApplicationDelegate> {
   // lots of stuff that's not relevant (I hope)
}
  @property (assign) IBOutlet NSMenuItem *BinetMenuItem;
  @property (assign) IBOutlet NSMenuItem *PoinsotMenuItem;
  @property (assign) IBOutlet NSMenuItem *polhodeMenuItem;
  @property (assign) IBOutlet NSMenuItem *toggleMovieMenuItem;

- (IBAction)setBinetMode:(id)sender;
- (IBAction)setPoinsotMode:(id)sender;
- (IBAction)setPolhodeMode:(id)sender;
- (IBAction)toggleMovie:(id)sender;

,现在来自.m文件:

@implementation AppDelegate

@synthesize BinetMenuItem;
@synthesize PoinsotMenuItem;
@synthesize polhodeMenuItem;
@synthesize toggleMovieMenuItem;

- (IBAction)setBinetMode:(id)sender {
    NSLog(@"%s starting BinetMode", __PRETTY_FUNCTION__);
    if (animationMode == PoinsotMode | animationMode == polhodeMode) {
        NSLog(@"Setting initial conditions");
        animationMode = BinetMode;
        [self setInitialConditions:self];
    }
    animationMode = BinetMode;
    [bodyOnlyMenuItem setState:NSOffState];
    [BinetMenuItem setState:NSOnState];
    [PoinsotMenuItem setState:NSOffState];
    [polhodeMenuItem setState:NSOffState];
    [view setNeedsDisplay:YES];
}

@end

该应用使用笔尖,而不是故事板。是否还有其他可能有用的信息?谢谢!

1 个答案:

答案 0 :(得分:0)

发现它!它与我发布的代码无关:我添加了这个-init方法:

-(id)init {
    self = [super init];
    if (self) {
        topLevelObjects = [[NSMutableArray array] retain];
    }
}

请注意缺少返回值。当我添加&#34;返回自我;&#34;作为&#34; topLevelObjects = ...&#34;之后的行并且&#34;返回nil;&#34;在第一个关闭支架之后,一切正常。自我注意:注意警告。根据10.10.3进行编译产生了一些弃用警告,我没有查看其他任何警告。马虎...