iOS

Swift4:.htmlファイルとbookmark

bookmarkとして読み込んだ.htmlファイルを書き込もうとしたのですが、うまくいきません。テキストで書き込まれてしまいます。

ない知恵を絞った結果、やりたいことは、

  • デフォルトのbookmarkを利用できるようにしたい
  • ユーザーが固有のbookmarkを使えるようにしたい
という2点に尽きるので、デフォルトのbookmarkはプログラム内に.htmlを定義して読み込むことにし、ユーザー固有のbookmarkは、従来通り、外部ファイルから読み込むことにしました。

.htmlファイルを読み込むとき、今までencodeを指定していなかったのですが、指定できるように変更しました。

プログラムに内包した.htmlファイルの読み込みは意外と簡単でした。

bookmarkの開閉処理でフォルダでbookmarkが泣き別れるとき、これをちゃんと開閉できないバグがあったので修正しました。

Calling sequence to read a user’s .html file.
var wA:String? = Com.CallReadHTMLfile(pFilepath,
pEncode: String.Encoding.utf8.rawValue)

 

func CallReadHTMLfile(_ pFilepath:String, pEncode:UInt) -> String? {//<*Read .html file*
var wString:String?           = nil                             //
    if CallFileExists(pFilepath) == “NG” {                      //This file exists?
       return nil                                               //♻️return♻️ Not exist.
    } else { }                                                  //
    do {                                                        //
        wString   = try String(contentsOf: URL(fileURLWithPath:pFilepath),
                    encoding:String.Encoding(rawValue: pEncode))//Read .html file
    } catch {                                                   //
    }                                                           //
    if wString == nil { return nil }                            //♻️return♻️ error
    else            { return String(describing: wString) }      //♻️return♻️ normal end
}//🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳

◾️How to read a .html file bundled in Swift program

func ExecGetBookmarks() -> String {                      //<*Read a default bookmark file*>
  let wFilepath:String? = Bundle.main.path(forResource: “MesaBookmarks, ofType: “html”)//
  if wFilepath == nil { return “” }                      //♻️return♻️ NA
  else { }                                               //
  let wBookmark:String = try! String(contentsOfFile: wFilepath!, encoding: String.Encoding.utf8)//
  return wBookmark                                       //
}//🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳

Screenshot 2018-04-16 08.03.17

Categories: iOS, Swift, 技術