2014-10-09 41 views
0

我搜索了並且找不到與我的類似的問題。無法將操作btnPressed連接到類NSViewController的目標

我有一個父視圖(AppDelegate)和一個NSButton的子視圖(NSViewController)。

在我父視圖(AppDelegate中),我使用IB添加一個CustomView和NSViewController在MainMenu.xib和使用下面的代碼到視圖更改爲兒童

AppDelegate.h - 

#import <Cocoa/Cocoa.h> 

@interface AppDelegate : NSObject <NSApplicationDelegate> 

@end 


AppDelegate.m - 

#import "AppDelegate.h" 
#import "Child.h" 

@interface AppDelegate() 

@property (weak) IBOutlet NSWindow *window; 
@property (weak) IBOutlet NSView *myCustomView; 
@property (weak) IBOutlet NSViewController *myViewController; 

@end 

@implementation AppDelegate 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 

    Child *childView = [[Child alloc] init]; 
    [[self.myViewController view] removeFromSuperview]; 
    self.myViewController = [childView initWithNibName:@"Child" bundle:nil]; 
    [self.myCustomView addSubview:[self.myViewController view]]; 
    [[self.myViewController view]setFrame:[self.myCustomView bounds]]; 

} 

這裏是兒童(NSViewController ),我使用IB來添加一個按鈕並將其與我的孩子鏈接。

Child.h - 

#import <Cocoa/Cocoa.h> 

@interface Child : NSViewController 

@end 


Child.m - 

#import "Child.h" 

@interface Child() 

@end 

@implementation Child 

- (IBAction)btnPressed:(id)sender { 
} 

@end 

問題是沒有編譯錯誤,但是當我運行它。它顯示

2014-10-09 22:51:43.952 Test[1439:303] Could not connect the action btnPressed: to target of class NSViewController 

孩子可以趕上按鈕的新聞事件。在我看來,Xcode抱怨按鈕操作未與父視圖(AppDelegate)鏈接。

我該如何擺脫這個警告? Apple是否允許帶有此類警告的OSX應用程序?

+0

您是否將按鈕連接到您的操作方法? – 2014-10-09 23:11:54

+0

是的,我做到了。這就是爲什麼當我點擊按鈕時btnPressed被調用。應用程序本身運行良好。我只是不知道如何擺脫這個信息。我想在這裏上傳項目,但我不知道如何。 – yohon 2014-10-10 08:24:19

+0

重現它非常簡單。 – yohon 2014-10-10 08:47:05

回答

0

替換下面一行: -

Child *childView = [[Child alloc] init]; 
self.myViewController = [childView initWithNibName:@"Child" bundle:nil]; 

改性線: -

self.myViewController = [[childView alloc]initWithNibName:@"Child" bundle:nil]; 

注: - 請確保您提到的廈門國際銀行的名字應該是正確的。

相關問題