gpt4 book ai didi

swift - NSView 的 swift 打印功能

转载 作者:搜寻专家 更新时间:2023-11-01 07:01:36 24 4
gpt4 key购买 nike

我刚刚将我的项目移动到 Xcode 10(实际上我将文件放在一个新创建的项目中)。

现在,在我的 NSView 子类中,Xcode 告诉我:

public override func print(_ sender: Any?)

不会覆盖任何东西。我猜 print() 函数已重命名,因为它确实与 print() 日志记录函数冲突。我应该使用哪个名字?

最佳答案

从 Swift 4/Xcode 9 开始,NSView 方法

- (void)print:(id)sender;

导入到 Swift 作为

func printView(_ sender: Any?)

这样就不会再和全局的print()函数冲突了。此更改记录在 AppKit Release Notes for macOS 10.13 中:

print() methods in Swift

NSWindow, NSView, NSDocument’s print() instance methods have been renamed to printWindow(), printView(), and printDocument() respectively in Swift 4. This fixes the unexpected experience where adding debug logging to a subclass of one of these instances shows a print panel instead.

(在@hamishknight 的帮助下在 Swift 论坛的 How does Swift translate -[NSView print] to printView()? 找到。)

关于swift - NSView 的 swift 打印功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50898137/

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