小编Gra*_*aou的帖子

CAMetalLayer nextDrawable 返回 nil 因为分配失败

我是 Swift 和 Mac 开发的新手,我正在尝试制作一个可以打开 Metal 窗口的框架(仅限 macOS)。我在 macOS 版本 10.15.2 上使用 Xcode 版本 11.3.1。

我从我在网络上找到的示例开始(要启动的 macOS/命令行工具项目),但我不知道如何更正此错误:

[CAMetalLayer nextDrawable] 由于分配失败而返回 nil。

当使用故事板(macOS/App 项目)创建项目时,窗口会以预期的内容(填充为红色)打开,但是当我尝试用代码(macOS/命令行工具项目)替换故事板时,执行循环出现错误上文提到的 。

主文件

import AppKit

class AppDelegate: NSObject, NSApplicationDelegate {
    var window: NSWindow!
    var viewController: ViewController!

    func applicationDidFinishLaunching(_ notification: Notification) {
        NSLog("Start app")

        viewController = ViewController()
        window = NSWindow(contentRect: NSMakeRect(0, 0, 1024, 768),
                          styleMask: .borderless,
                          backing: .buffered,
                          defer: false)

        window.contentViewController = viewController
        window.title = "Hey, new Window!"
        window.backgroundColor = NSColor.blue
        window.orderFrontRegardless()
    }

    func applicationWillTerminate(_ notification: Notification) {
        NSLog("Terminate …
Run Code Online (Sandbox Code Playgroud)

macos runtime-error storyboard swift metal

3
推荐指数
1
解决办法
1746
查看次数

标签 统计

macos ×1

metal ×1

runtime-error ×1

storyboard ×1

swift ×1