#file
、#function
、#line
のいずれかの方法で印刷したいと思います。とにかくログ機能を使用していますか?
私は以下のコードを試しましたが、問題はここにあります。 私がlogm()
と呼んでいるところでは、それは@inline
と宣言しても、常にlogm
メソッドの情報を出力します。
@inline(__always) func logm(items: Any...) {
if let f = #file.componentsSeparatedByString("/").last {
print("[\(f)][\(#function)][\(#line)]:", items)
} else {
print("[\(#function)][\(#line)]: ", items)
}
}
このようなことを実装するにはどうしますか? @inline
が期待どおりに機能するのはなぜですか?
https://gist.github.com/xmzio/fccd29fc945de7924b71 – JAL
私はこれを再開するために投票していますなぜなら、オリジナルの「マクロスウィフト?」は、この質問に特に詳細にも類似していないからです。答えは似ているかもしれませんが、文脈は異なります。 – jtbandes
@jtbandesありがとうございました。 '@inline'が私が期待したようにうまくいかなかった理由を知りたい。 – Ryan