ど~もこんにちは、id:yanacii です。今日は経費申請の交通費で自動計算に無い金額の理由を聞いてみたらマニアックな回答がきたのでそれについてお話をしたいと思います。
続きを読むSwiftUIのプレビューの時だけ名前解決できない謎のエラー
こんにちは。 SwiftUIで複雑なViewを定義する時は以下のようにSubviewに分けることがあると思います。
例えばよくあるユーザー詳細画面だとすごくざっくりこんな感じになると思います(本当はさらに複雑に分解されると思いますが)
- UserDetailView
- UserDetailHeaderView
- UserDetailContentView
- UserDetailContentSubView
この場合、Subviewの名前が長くなるので僕はよくextension を使って以下のように書きます。
// UserDetailHeaderView.swift extension UserDetailView { struct HeaderView: View { // 略 } } // UserDetailContentView.swift extension UserDetailView { struct ContentView: View { var body: some View { ContentSubView() // 他にもいろいろなView } } } extension UserDetailView { struct ContentSubView { // 略 }
こうすることで UserDetailViewは以下のようにシンプルに保てます。
struct UserDetailView: View { var body: some View { VStack { HeaderView() ContentView() } } }
このような書き方にするとビルドは普通に通るしプレビューもできます。
問題発生
しかしSubviewの方でプレビューを作ると困ったことになります。
例えば UserDetailContentView.swift
でPreviewを表示しようとした場合にはなぜか ContentSubView
が見つからないというエラーが発生するので UserDetailView.ContentSubView
という書き方をしなくてはいけません。
このエラーは extension で囲ったViewから別のextensionで囲ったViewを参照している場合のプレビューの場合だけ発生します。
親View(UserDetailView)でのプレビューや単体でのPreview時には発生しません。
Xcodeのプレビュー問題なのか?そのような書き方がそもそもできないのか?詳しく調べていないのでよくわかりませんがプレビューのときだけ発生して、さらにプレビューのビルドエラーはわかりにくいので共有がてら記事にしてみました。
池袋おすすめランチ情報
コベリンがオススメする池袋のご飯屋さんの情報です。要町〜西池袋エリア中心です。随時更新します。
続きを読むRenovateがPull Requestを作ってくれなかったときに確認したこと
こんにちは、 id:numanuma08 です。
私が今携わっているAndroidアプリのプロジェクトは、依存ライブラリのアップデートに追従するためRenovateを使っています。
Auto mergeは設定しておらず、週1でRenovateが動作しているのでPRが毎週作られるはずでしたが、いつの頃からかPRが作られていませんでした。
今回、その理由を調査したので共有します。
続きを読むマグマパワーで寝るときに肩がひえひえコリコリになるのを防止する
こんにちは。肩こりの塊です。
私は慢性的に肩こりに悩まされていて、ここ最近は少し筋トレをしたり定期的に整体に通ったりしてややマシ(それでも肩はガチガチで頭痛は発生しない程度)になっていました。
しかし冬の間は特に肩こりがひどくなって、朝起きるとやや頭痛がするぐらい肩がカチコチになっていました。腕まで完全に冷え切ってなんかやばいな…と日々感じていました。
そんな僕が冬の間に試してやや良かったことを紹介します。もう寒い日々は終わりましたが来シーズンの参考になれば幸いです。
続きを読むMFクラウド会計で、MFクラウド請求書からインポートした仕訳の金額が請求書の金額と一致しない際の確認方法
ど~もこんにちは。yanacii です。MFクラウド会計上で、実現仕訳時にMFクラウド請求書からインポートした仕訳の金額が合わない問題が発生したので、その際の確認方法を紹介します。
続きを読む