当我尝试将NSimage设置为NSView时,我的应用程序崩溃了。
应用程序在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 :(得分:0)
首先尝试将此行设置为:
std::enable_shared_from_this