2021-01-01から1年間の記事一覧

リモートは既に削除済み、ローカルまだ残っているbranchを削除する

Git

git remote prune remote名

Dynamic Font無効化

Apple DocumentからdynamicTypeSize(_:)という関数を発見した。 下記の例はフォントタイプを強制的にxLargeに設定する: ContentView() .dynamicTypeSize(.xLarge) 下記の例はフォントタイプをlarge以下限定する: ContentView() .dynamicTypeSize(...Dynami…

実用的なBundle Extension for Jsonファイルロード

extension Bundle { func load<T: Codable>(from fileName: String) -> T? { guard let url = url(forResource: fileName, withExtension: "json") else { return nil } guard let data = try? Data(contentsOf: url) else { print("File \(fileName) does not exist.") </t:>…

実用的なFileManager Extension for Jsonファイルのセーブ/ロード

enum FileName: String { case pc case gameData } extension FileManager { func load<T: Codable>(from fileName: FileName) -> T? { let url = getDocumentsDirectory().appendingPathComponent(fileName.rawValue) guard let data = try? Data(contentsOf: url) else</t:>…

Optionalプロパティのdecode方法

例えばプロパティvar weapon: Weapon?をdecodeしよう場合、decodeIfPresentは便利です。書き方は下記です: weapon = try container.decodeIfPresent(Weapon.self, forKey: .weapon) 関連記事: cecil-it.hatenadiary.com

リモートブランチをチェックアウトする

Git

格好いい書き方: git checkout -t origin/branch1 ダサい書き方: git checkout -b branch1 origin/branch1

Proerty Wrapper @AppStorage

@AppStorage("name") private var name = "Cecil" こう書くと、name属性はUserDefaultsからデータを読み込む。またname属性を変更するとき、UserDefaultの値も更新する。

Macアプリの表示名変更

TargetのBuild Settingsの中、"product name"を検索して、その値を変更する。

layoutPriority

VStackを使う時、真ん中のtextはtruncateされることがある。 この時.layoutPriority(1)を追加すれば問題解消できる。

Git Stash

Git

変更したファイルを退避させる: git stash untrackedファイルを含めて退避させる: git stash -u コメントを残して退避させる: git stash save 'コメント' 退避リスト一覧 git stash list 退避させたファイルを戻す: git stash apply 退避させたファイル…

Simulatorの録画

xcrun simctl io booted recordVideo ファイル名.mov