2015-04-02 28 views
3

我遇到一個奇怪的錯誤:(NSMenuItem):缺少二傳手或實例變量

2015-04-02 12:20:14.642 test[21167:257788] Failed to connect  
(testApp) outlet from (test.AppDelegate) to (NSMenuItem): missing 
setter or instance variable 
inserted id: 122 

我發生時,增加了一個菜單項的菜單,並連接一個功能它。

我不知道問題是什麼。該應用程序工作正常,但我不認爲這是一個聰明的主意,忽略錯誤。 setter或實例變量的含義是什麼?爲什麼需要?

更新:下面是相關代碼:

import Cocoa 
import Foundation 

@NSApplicationMain 
class AppDelegate: NSObject, NSApplicationDelegate { 

@IBOutlet weak var window: NSWindow! 
@IBOutlet weak var statusMenu: NSMenu! 

let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1) 

func applicationDidFinishLaunching(aNotification: NSNotification) { 
    let icon = NSImage(named: "statusIcon") 

    statusItem.image = icon 
    statusItem.menu = statusMenu 
    // Time for constant repeat 
    NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerRepeat", userInfo: nil, repeats: true) 
} 

// Method to call the tracking core 
func timerRepeat() { 
    //.... 
} 

@IBAction func frontEnd(sender: NSMenuItem) { 
    var targetURL : String = NSBundle.mainBundle().resourcePath! 
    targetURL = targetURL + "/" + "front.app" 
    let workspace = NSWorkspace() 
    workspace.launchApplication(targetURL) 
} 


@IBAction func menuClicked(sender: NSMenuItem) { 
    NSApplication.sharedApplication().terminate(self) 
} 
} 
+0

Stackoverflow通過向其他人展示您的代碼起作用。在沒有代碼的情況下發布錯誤消息很可能不會產生任何結果。請發佈您的AppDelegate定義的預期插座的定義。順便說一句:很少有必要跟蹤一個插座中的MenuItem,最終你想怎麼做? – Patru 2015-04-03 04:06:54

+0

我添加了代碼。 MenuItem在插座中意味着什麼?我只是想調用一個函數,當我點擊所有的MenuItem。 thx – Silve2611 2015-04-03 17:57:07

回答

5

您的XIB文件破碎的出口。通常情況下,當你建立一個出口到伊娃或財產,後來被刪除或重命名不使用Xcode的重命名功能。

+0

Thx。參考插座是錯誤的。右鍵點擊該項目顯示我,我參考了一些不存在的網點。 – Silve2611 2015-04-04 11:12:07

2

還要確保您的自定義視圖或視圖控制器類已添加到您的目標。 (項目=>目標名稱 =>構建階段=>編譯源)。文件可能在您的項目中,但不是您的目標。