ショートカットを扱う上で基本的かつ重要な要素です.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS15.6.1
スポンサーリンク
結線の役割
レシピを組むと、アクションの間に灰色の線で結ばれることがあります.
これは結論から言えば上のアクションの出力が下のアクションの入力として使われいていることを意味します.
ショートカットの各アクションには一部の例外を除き、入力と出力が存在します.
プログラミングの関数で言うところの引数や戻り値の関係を示すものです.
ただしプログラミング同様、アクションによっては引数がなかったり、どちらもないアクションもあります.
上の例では、「変数を設定」アクションの入力として上にある「テキスト」アクションの出力を使っています)①).
説明にある通り、「変数を設定」アクションは入力と同じものを出力とするため、次のアクションの入力として使うこともできます(②).
一方「テキスト」アクションには入力は存在しません.
「テキスト」アクションに書かれたものをテキストとしてそのまま結果として返します.
そのため直前の(出力のある)アクションを採用しても、結線で結ばれることはありません.
「何もしない」アクションは入出力どちらもありません.
そのため意図的に入出力の繋がりを断つことができます.
しかしこれはこちら側が直前の出力を使わなければ済む話なので、基本的にはわざわざこのアクションを使うシーンというのはありません.
現に上の例では結局「テキスト」アクションを入力として変数の設定ができています.
「コメント」アクションもやはり入出力のないアクションですが、一部アクションの後ろで結線されます.
出力も無いのに変数を入れられる謎の存在ですね.
下書きを想定してるんでしょうかね、言い換えればコメントアウトのような使い方ができます.
追加時の仕様
ショートカットアクションを追加すると、仕様によりそのアクションの入力に直前の出力が当てはめられた状態になります.
ある意味便利な機能ですが直前の出力を必ずしもそのアクションの入力にするとは限りません.
自作する際に起こりうるミスのひとつはここにあると思います.
具体例
「テキスト」アクションにある文字列から改行を取り去るレシピを考えてみます.
各々の入出力が間違っていなければ画像のようになります.
「テキストを置き換え」の入力はその上にある「テキスト」アクションの出力、そして「結果を表示」には「テキストを置き換え」の出力であることが必要です.
どちらも結線で繋がっているのがわかります.
これで望む結果になります.
もし誤って「結果を表示」に「テキスト」の出力を入れてしまう場合を考えます.
これだと2つ目の結線が存在しません.
そして表示された結果は改行される前のままです.
原因を調べる立場で考えれば、直前の出力である「テキストを置き換え」と結線で繋がっていないのがおかしい…と気づけるわけですね.
結果
以前デバッグに「結果を表示」で追っておく方法を紹介しましたが、違う見方としてこの結線の状態も重要な要素となります.
より複雑化すると入力に使っている内容が直前でないことが当たり前になってきますが、前後の関係を簡単に判断できる指標であることから是非理解しておくといいです.