NSView で Swift の print() をやろうとしてもプリントダイアログが起動するぞ
NSView のサブクラスでログを出そうといつものように print("hogehoge")
みたいな感じにしてたらいきなりプリントダイアログが起動してしまいました。
お、おう。。
これって NSView が実装している方の print(sender: AnyObject?)
メソッドが呼ばれちゃってるんですね。んなアホなと思いましたけど。
NSView
extension NSView {
…
/* Printing action method (Note fax: is obsolete) */
@warn_unqualified_access
public func print(sender: AnyObject?)
…
対策として、NSView では Swift. を略さずに書いてあげればログ出力用のプリントを呼び出せるようになります。
class MyView: NSView {
func method() {
Swift.print("hogehoge")
// print("hogehoge") // こっちだとプリントダイアログが起動してしまう
}
}
追記:
macOS High Sierra / Swift 4では、印刷ダイアログのメソッド名の変更によりこの問題が解消されます。
Author And Source
この問題について(NSView で Swift の print() をやろうとしてもプリントダイアログが起動するぞ), 我々は、より多くの情報をここで見つけました https://qiita.com/usagimaru/items/dd1fc8d23849fdd4ab64著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .