2017-11-13 45 views
0

NSimage를 NSView로 설정하려고하면 애플리케이션이 손상됩니다.NSImage를 NSView로 설정하는 방법 Cocoa swift에서 CALayer 사용

응용 프로그램 ClockMainview 컨트롤러에 선 아래로 추락 : QuizDetailVC1.clockView.layer?.contents = a1 // 여기의 충돌

class ViewController: NSViewController 
    { 
     var abc1 = ClockMain() 
     @IBOutlet var clock view: NSView! 
     let layer = CALayer()  
     func ClockApp() 
     { 
      layer.contents = abc1.a1 
      layer.contentsGravity = kCAGravityResizeAspectFill 
      clockView?.layer = layer 
      clockView?.wantsLayer = true 
     } 
    } 

    class ClockMain: NSViewController,NSCollectionViewDelegate,NSCollectionViewDataSource 
    { 
    var a1 = NSImage(named:"\(UserDefaults.standard.value(forKey: "ImageName")!).jpg")! 

     func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) 
     { 
      let mainWC1 = view.window?.windowController as? Window 
      let QuizDetailVC1 = storyboard?.instantiateController(withIdentifier: "ViewController") as! ViewController 
      QuizDetailVC1.clockView.layer?.contents = a1 // here its a crash 
      QuizDetailVC1.layer.contentsGravity = kCAGravityResizeAspectFill 
      mainWC1?.contentViewController = QuizDetailVC1 
      print("click") 
     } 
    } 

답변

0

을하기 전에이 라인을 설정하는 첫 번째 시도 : 그것은 소리

QuizDetailVC1.clockView.wantsLayer = true 
QuizDetailVC1.clockView.layer?.contents = a1 
+0

@ronakpatel Pankaj Mundra에게 대답하는 것처럼? 당신은 2 명의 SO 프로파일을 가진 동일한 사람입니까? –