Swift

Swift:並行処理のタタリか。

webページを読み込んでいる間にほかの操作をすると、読み書きがおかしくなる。

ネットワークの速度やVPNサーバーの状況により、webページの読み込みがなかなか終わらないときがあります。

読み込み完了のつもりでwebViewを書いてしまったり、ユーザーの次の操作で違うwebページを書き込むケースがあることが判明しました。待ち時間を設定してみたのですが、うまく行かないので、webページの読み込み終了を判断して、ユーザーの操作を保留させることにしました。

しかし、書き込み途中で次のwebページを書き込む問題は、バッファの混在なのでふたつに分けなければいけません。やれやれ。
➡️この考えは少し安易かもしれません。どのみち、読み込んでいたものが.webarchiveであれば、修正の有無に関わらずファイルを保存するようにすべきなので、こうすれば、webページを読み込む前に必ず.webarchiveの保存がされることになります。

「多分」なのですが、このとき、書き込み中であることが何らかの形でわかるか、自動制御できればいいはずです。

整理していくと、自動でsaveするケースはありえない。

1. 🔒URL指示によるwebページ読み込み:

  • 初回のみ➡️URL読み込み完了有無チェック

2. 🔎検索によるwebページ読み込み:

  • 任意➡️URL読み込み完了有無チェック

3. 🌎リンクのクリック:

  • 任意➡️URL読み込み完了有無チェック

4. 🎾webarchiveへの書き込み:

  • webページを登録するとき
  • 編集済みページをアップデートするとき(いわゆるsave)

5. 🎾webarchiveの読み込み:

  • 任意

6. 🎾Reload URL / Save (initialize)

7. 🎾Undo

8. 🎾Back to the original URL

Categories: Swift, 技術