{"categories":[],"author_url":"https://blog.hatena.ne.jp/TTKCD/","blog_url":"https://ttkcd.hatenablog.com/","published":"2023-11-07 20:18:19","version":"1.0","url":"https://ttkcd.hatenablog.com/entry/2023/11/07/201819","blog_title":"\u304a\u3063\u3055\u3093\u306e\u5099\u5fd8\u9332","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fttkcd.hatenablog.com%2Fentry%2F2023%2F11%2F07%2F201819\" title=\"\u3010Swift UI\u3011\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f - \u304a\u3063\u3055\u3093\u306e\u5099\u5fd8\u9332\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","type":"rich","height":"190","image_url":null,"author_name":"TTKCD","width":"100%","title":"\u3010Swift UI\u3011\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f","provider_url":"https://hatena.blog","provider_name":"Hatena Blog","description":"\u6982\u8981 \u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u3002\u8aad\u307f\u8fbc\u3093\u3060\u6587\u5b57\u5217\u3092\u753b\u9762\u306b\u8868\u793a\u3059\u308b\u3002 \u30b3\u30fc\u30c9 import SwiftUI struct ContentView: View { var body: some View { VStack { Text(getFileStr()) } } } func getFileStr() -> String { guard let fileURL = Bundle.main.url(forResource: \"\u30d5\u30a1\u30a4\u30eb\u540d\", withExtension: \"\u62e1\u5f35\u5b50\"), let fileContents = try? String(contentsOf: fileURL, \u2026"}