別名サイクル
この警告カテゴリーはqmllintによって[alias-cycle]
。
エイリアスプロパティはエイリアスサイクルの一部です。
何が起こりましたか?
プロパティのエイリアスはそれ自身、またはそれ自身を解決する別のエイリアスに解決されます。
通常、プロパティのエイリアスは別のプロパティを直接参照するか、別のエイリアス・プロパティを経由して間接的に参照します。
プロパティ・エイリアスが直接または間接的にそれ自身を参照する場合、それはエイリアスサイクルを形成します。警告は、現在のエイリアス・プロパティがエイリアスサイクルの内部にあるか、エイリアスサイクルを参照していることを示します。
これはなぜ悪いのでしょうか?
エイリアスサイクルを持つコンポーネントのインスタンスは実行時に作成されません。
例
import QtQuick Item { id: someId property alias myself: someId.myself // not ok: referring to itself property alias cycle: someId.cycle2 // not ok: indirectly referring to itself property alias cycle2: someId.cycle property alias indirect: someId.cycle // not ok: referring to alias indirectly referring to itself }
この警告を修正するには、エイリアスサイクルを分割してください:
import QtQuick Item { id: someId Item { id: anotherId property string myself property int cycle } property alias myself: anotherId.myself // ok: referring to a property property alias cycle: someId.cycle2 // ok: does not refer to itself anymore property alias cycle2: anotherId.cycle // ok: not a cycle anymore property alias indirect: someId.cycle // ok: cycle does not form an alias cycle anymore }
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。