XCode 15.0 日本語化計画:New Human Interface Guideline
Markdown ソースの位置属性にアクセスするためのプロパティ。
この属性は、ソース内のマークアップ文字を省略して、一連の属性付きテキストが開始および終了する Markdown のソース内の位置を示します。たとえば、ソース文字列"This is *emphaized*." を解析した後、emhasized (強調された) テキストの Markdown ソースの位置は列 10 から始まります。このインデックスは、"*" 書式設定文字ではなく"e" 文字です。
AttributedString.MarkdownSourcePosition は、行と列のプロパティに 1 から始まるカウントを使用します。列の場合、値は UTF-8 インデックスを表します。したがって、複数バイト文字の場合、列は文字の最初のバイトになります。
Markdown テキストから解析された属性付き文字列には、AttributedString イニシャライザに提供された AttributedString.MarkdownParsingOptions の applySourcePositionAttributes 値が true の場合にのみ、この属性が含まれます。
以下の例では、markdown ソース文字列には、AttributedString でサポートされているいくつかの形式の Markdown 形式が含まれており、これには、二重アスタリスクが適用された StrongEmphaized インライン提示意図が含まれます。この例ではソース文字列を解析し、appliesSourcePositionAttributes オプションを有効にします。次に、この例は属性付き文字列の実行をループし、markdownSourcePosition 属性と、その値が StrongEmphaized である inlinePresentationIntent の両方を含む実行を探します。そのような実行が見つかった場合は、ソース位置属性と属性付きテキストを出力します。
これは、AttributedString.MarkdownSourcePosition と Markdown ソース文字列から範囲を作成する Range のコンビニエンスイニシャライザ init(_:in:) を使用します。range(範囲)を操作する方が、AttributedString.MarkdownSourcePosition の開始位置プロパティと終了位置プロパティを操作するよりも便利な場合があります。
enum AttributeScopes.FoundationAttributes.MarkdownSourcePositionAttribute
Markdown ソースの位置を属性として使用するための型。