gpt4 book ai didi

swift - 收到错误 : Use of unresolved identifier 'NSRectFill' , 但 __NSRectFill 有效,为什么?

转载 作者:可可西里 更新时间:2023-10-31 23:55:14 31 4
gpt4 key购买 nike

我是 Swift 4 的新手,使用 Xcode 9 编写代码。尝试创建一个非常简单的 MacOS 绘图应用程序,只是为了更多地了解 Swift。我复制了一些非常简单的教程代码,但收到错误消息“使用未解析的标识符‘NSRectFill’。我注意到编译器提示我使用 __NSRectFill 并且这有效...但是为什么呢?我做错了什么吗?

import Cocoa

class GraphView: NSView {

override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)

NSColor.white.setFill()
NSRectFill(bounds)
}
}

最佳答案

从 Swift 3 开始,NSRectFill 已成为 NSRect/CGRect 的方法。所以您应该改为调用 bounds.fill()

虽然在深处,它可能仍然依赖于一些 Core Foundation 例程,例如 __NSRectFill。最好避免使用那些带有双下划线的函数,因为它们是低级系统内容,文档很少(至少是公开的)。

关于swift - 收到错误 : Use of unresolved identifier 'NSRectFill' , 但 __NSRectFill 有效,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47006401/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com