Swift

Swift:デバッグ継続中

いくつか方式を変更しながら、デバッグを継続しています。

主な変更

  • 表示しているwebViewのリンクがクリックされたとき、リンクをオリジナルに戻せるようにしました。これはすでに対処済みだったのですが、アルゴリズムを変更し、単純化しました。
  • まだ最終的にどちらにするか決めかねていますが、.webarchiveファイルへの書き込みとメモリへのスタックの両方が動作するように作り込んでいます。ただし、save / restoreはメモリのみしか実装していません。
  • URLを読み込んだ後、リンクがクリックされると、当該リンクをwebViewのdidStartProvisionalLoadForFrameとdidFinishLoadForFrameで処理させています。しかし、ここでリンクを読み込みに行くとループ状態になります。回避策として、読み込み完了デフラグをあげ、読み込みスタートでクリアするようなことを考えたのですが、言うまでもなく、それだとループに入ります。
  • コンテンツブロックの方式を変更しました。まずは、htmlを処理する単位を決め、配列化し、ループで何回も同じ行やフィルタをアクセスしないですむようにしました。それと、フィルタが見つかったとき、前方に戻って文字列を探す処理もしなくていいように変更しました。
  • 前に書いたかもしれませんが、htmlの中のキャリッジリターン、タブ、改行など、いくつかの制御文字を調べ、表示や処理に影響がない場合、冗長的な並びを削除するようにしました。
  • コンテンツブロックのユーザー登録ができるようにするにはどうすればいいか、考えています。

Categories: Swift, 技術