2014-12-02 1 views
3

Window Toggling (Objective-C에서는 여러 번 해봤지만)은 Swift에서 구현하고 있습니다. 그것은 솔기가 NSWindowOcclusionState.Visible의 사용을 잘못 받고있어,하지만 난 정말 내 문제를 볼 수 없습니다. 초기 창을 만든 후에 w.makeKeyAndOrderFront (self) 행만 호출됩니다.Swift에서 NSWindowOcclusionState.Visible을 사용하는 방법

제안 사항?

var fileArchiveListWindow: NSWindow? = nil 

@IBAction func tougleFileArchiveList(sender: NSMenuItem) { 
    if let w = fileArchiveListWindow { 
     if w.occlusionState == NSWindowOcclusionState.Visible { 
      w.orderOut(self) 
     } 
     else { 
      w.makeKeyAndOrderFront(self) 
     } 
    } 
    else { 
     let sb = NSStoryboard(name: "FileArchiveOverview",bundle: nil) 
     let controller: FileArchiveOverviewWindowController = sb?.instantiateControllerWithIdentifier("FileArchiveOverviewController") as FileArchiveOverviewWindowController 
     fileArchiveListWindow = controller.window 
     fileArchiveListWindow?.makeKeyAndOrderFront(self) 
    } 
} 

답변

1

이전 질문과 똑같은 문제가 있습니다. occlusionStateAND 이진 연산자를 사용하여 스위프트에 약간 다르게 완료 확인 :

스위프트 2에서
if (window.occlusionState & NSWindowOcclusionState.Visible != nil) { 
    // visible 
} 
else { 
    // not visible 
} 
+0

나는 점점 오전 : 제공된 인수를 받아 '&'에 대한 과부하를 찾을 수 없습니다 –