0
デバッグ、リリースなどのさまざまなモードの値をロギングするカスタムロガーを作成しましたが、デフォルトを使用するたびにその値を使用します。print()
Xcodeは、カスタムロガー。print()のXcode(スウィフト)スローエラー
私はthisを参照しましたが、そこにエラーをスローし、ビルドフェーズを追加するのではありません。
すべてのアイデア?
デバッグ、リリースなどのさまざまなモードの値をロギングするカスタムロガーを作成しましたが、デフォルトを使用するたびにその値を使用します。print()
Xcodeは、カスタムロガー。print()のXcode(スウィフト)スローエラー
私はthisを参照しましたが、そこにエラーをスローし、ビルドフェーズを追加するのではありません。
すべてのアイデア?
あなたのモジュールでprint
を内蔵しており、「利用できない」それをマークシャドウできます
// swift 3:
@available(*, unavailable, message: "use Logger instead!")
internal func print(_ items: Any..., separator: String = " ", terminator: String = "\n") {
Swift.print(items, separator: separator, terminator: terminator)
}
// swift 2:
@available(*, unavailable, message="use Logger instead!")
internal func print(items: Any..., separator: String = " ", terminator: String = "\n") {
Swift.print(items, separator: separator, terminator: terminator)
}
結果は以下のようになります。
(の別のインスタンスがまだありますがprint<Target>(..., to output: inout Target)
私は隠すことは気にしないが、誰もその機能を誤って使用するとは思わない。)
示されているように、修飾名Swift.print
を使用して、緊急時の実際の機能を参照することができます。
これは、自分のモジュールにのみ影響します。モジュール外のユーザーにprint
を使用させないように強制することはできません。
kennytm:ありがとうございます。完璧! –