【iPhone】ショートカットで辞書Appもどきを作る[PART2]
ショートカットAppを使って、iPhone内蔵辞書の使い勝手を向上させます。
最終目標としては、以下の3つの機能の実装です。
(1) 検索を連続して行える機能
(2) 検索履歴を残せる機能
(3) 検索の強化(辞書に未定義の単語にも対応させる)
ただ、上記の内容を1記事で全部書くのは流石に長いなと感じたので、機能ごとに3つに記事を分けることにしました。
前回記事(PART1)までで(1)の機能については実装し終えたので、今回は(2)の検索履歴のお話です。
↓前回記事↓
1. はじめに
前回記事(PART1)では、内蔵辞書の検索が連続してできるショートカットを作りました。
レシピ
今回は、このショートカットに色々とアクションを付け足して、検索履歴の機能を実装していきたいと思います。
さて、まず最初に何をするかですが、ショートカットの名前を変えたいと思います。(日本語より英語名の方がなにかとやりやすいため)
ショートカット名の変更
※名前の由来は、ショートカット(shortcut)と辞書(dictionary)から適当に取ってきて、繋げて"SCDIC"
名前を変えたら、次は検索履歴を残す機能を実装していきます。肝心の履歴を残す方法ですが、iOS純正メモを使います。
2. メモアクションとメモの作成
ショートカットには、iOS純正メモを操作できるアクションが4つ用意されています。
メモアクション
今回は、「メモを検索」アクションと、「メモに追加」アクションの2つを使います。
予め履歴をとる用のメモを一つ用意しておき、そこに検索に成功した単語を書き込んでいけば、履歴が残せるよねって寸法です。
処理の流れとしては、「メモを検索」アクションで書き込むメモを検索・指定し、指定したメモに「メモに追加」アクションで単語を書き込むという感じ。
さて、書き込むメモを検索・指定するには、メモの名前やフォルダなどの情報が必要です。細かいことを言い出すとキリがないのでやめておきますが、今回の場合は、メモの名前情報から検索・指定する方法をとりたいと思います。
肝心のメモの名前をどうするかですが、先ほど名前変更した"SCDIC"というショートカットが書き込むメモということで、以下のような名前にしたいと思います。
scdic_d_his
※名前の由来は、辞書(dictionary)のdと、履歴(history)のhisを適当に後にくっつけたってだけ。
名前を決めたら、適当なフォルダに決めた名前でメモを作成します。メモの名前とは、メモの1行目のことですので、以下のようにします。
メモを作成する
3. アクションの追加その1
メモを作成し終わったら、ショートカットの編集にとりかかります。
単語の検索に成功した場合にのみ履歴を残したいので、「定義を表示」アクションの下にアクションを追加していきます。
まず、以下のようにして、メモを検索・指定します。
メモの検索・指定
(1) すべてのメモから検索する
(2) すべてのメモから名前に"scdic_d_his"の文字列が含まれているメモを選択する
(3) (2)で選択したメモを最終変更日が新しい順に並び替える
(4) (3)で並び替えたメモから1件のメモを選ぶ
(1)(2)(3)(4)を経て、
変更日が一番新しい"scdic_d_his"が検索・指定されることになる。
次いで、検索・指定したメモに、入力された単語を追加書き込みします。
単語の追加書き込み
これで、履歴機能の実装はほぼ完了です。試しに何度か辞書検索してみて、メモの内容がちゃんと変わっていることを確認します。
メモの内容の確認
大丈夫そうです。
4. アクションの追加その2
メモに履歴が残せるようになったのはいいのですが、入力の仕方次第では、面倒なことになってしまう場合があります。
例えば、以下のように入力に改行を含めてしまうと、履歴メモにも改行が含まれてしまいます。
入力に改行を含めた例
気をつけて改行しないようにすればいい話ではあるのですが、いちいちそれに気を配るのも面倒です。なので、以下のようにして、単語入力時に改行を消してやるようにします。
レシピ
(1) 改行を除いた入力(アップデートされたテキスト)を「定義を表示」アクションに渡すようにする
(2) 改行を除いた入力(アップデートされたテキスト)を「メモを追加」アクションに渡すようにする
これで、入力に改行が含まれていた場合でも、履歴メモに改行が含まれてしまうことはなくなりました。
5. まとめ
今回は、検索履歴を残せるようにショートカットに変更を加えました。
次回(PART3)では、辞書に未定義の単語にも対応できるようにショートカットに変更を加えていきたいと思います。
では〜
追記 2020/06/29
PART3が公開されました
↓PART3↓
この記事が気に入ったらサポートをしてみませんか?