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 //
}//🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳🐳