「SwiftUI」 ForEachでidを設定しつつindexを取得する方法

ForEachで同じViewを繰り返そうとした時に回した回数(index)を知りたかったケースがあったので、メモとして残しておきます。 先にサンプルのコードを記載しておきます。 struct TestView: View { var languages = ["Swift", "Ruby", "Python"] var body: som…

「良いコードを書く技術」第1章の感想

最近SwiftUI を利用したIphoneアプリをリリースしました(お気に入り貯金と検索すると出てきます)。初めてアプリをリリースできたので嬉しかったのですが、設計をほとんど考えず好き勝手にコードを書いたので非常にメンテナンスがしにくいです。趣味ならいい…

プライバシーポリシー(嘘電話)

はじめに このページでは、あなたの情報を嘘電話(以下「本アプリ」と称します。)がどのように取り扱うかを説明します。本アプリのご使用によって、本規約に同意していただいたものとしてみなします。 あなたの情報 本アプリは、個人を特定するために利用でき…

プライバシーポリシー(お気に入り貯金)

はじめに このページでは、あなたの情報をお気に入り貯金(以下「本アプリ」と称します。)がどのように取り扱うかを説明します。本アプリのご使用によって、本規約に同意していただいたものとしてみなします。 あなたの情報 本アプリは、個人を特定するために…

RealmSwift 「Instance method 'sorted(by:)' requires that 'SortDescriptor' conform to 'Sequence'」エラーについて

Realmでデータを取得する際にソートをかけようとしたらエラーに出会いました。 原因はソートの条件(sortProperties)を配列で指定しなかったからでした。 失敗例↓ let sortProperty = SortDescriptor(keyPath: "date", ascending: false) 成功例↓ let sortPro…

開発中に@Appstorage(UserDefaults)のデータを全て削除する

アプリの開発中にUserDefaultsのデータを削除したい場合があり、Xcodeの機能で消せないかなと検索したのですがどうやらなかったので、適当にボタンを作って押したらデータを削除するという方法を取りました。 Button(action: { let appDomain = Bundle.main.…

「SwiftUI」 @Appstorageを使って画像(UIImage)を保存する方法

データベースを使うほどではないが、画像を保存したいケースがあり、@Appstorageを使ってUserDefaultsに保存したので備忘録として残しておきます。 コード全文 ContentView.swift import SwiftUI struct ContentView: View { @AppStorage("testImage") var t…

「SwiftUI」.disabled()を使ってボタンの有効・無効(ざっくり)

SwiftUIでボタンの有効化・無効化の方法を調べたのでざっくりとメモしておきます。 以下コード全文 import SwiftUI struct Sample: View { @State var text: String = "before" @State var canTap: Bool = false var body: some View { VStack { Button(acti…

「SwiftUI」AppDelegate.swiftとSceneDelegate.swiftファイルがない場合

参考書を使ってSwiftUIの学習をしていた時に、タイトルにある二つのファイルが見つからず混乱したので、原因をメモしておきます。 どうやらXcode12からプロジェクトを作成する時に「Life Cycle」という項目が追加され、SwiftUI AppとUIKit App Delegateの二…

SwiftUI徹底入門「@ObservedObject」の仕組みが変わった?

SwiftUI徹底入門の10章「@ObservedObject」を学習していた時に、本に書いてある通りにコードを書いても上手くいかなかったので、修正した流れを残しておきたいと思います。 本書では以下のコードが記述されていました。 class MyData: ObservableObject { @P…

「シミュレーターが起動しない」Unable to boot device due to insufficient system resources

タイトル通りのエラーが発生し、調べてみると実行可能なプロセスを増やす必要があるという記事が多かった。しかし、「システムの速度が低下し、OSが不安定になる可能性がある」との記述から別の方法を探ることにした。 おそらく、過去に作ったプロジェクトの…

プライバシーポリシー(ネコカウンター)

はじめに このページでは、あなたの情報を猫カウンター(以下「本アプリ」と称します。)がどのように取り扱うかを説明します。本アプリのご使用によって、本規約に同意していただいたものとしてみなします。 あなたの情報 本アプリは、個人を特定するために利…

パーフェクトPHP 6章のコードが古いのでPHP7に対応できるよう書き換えてみた

こんにちは! この記事を見ている方は、恐らくパーフェクトPHP第6章のひとこと掲示板が上手く表示されない、データが保存されないといった状況に陥っている方が多いと思います。 僕も、第6章でなかなかデータを保存することができず時間がかかったので、PHP7…

mac ターミナルの文字の色が急に消えてしまった場合の対処法

homebrewのインストール作業を中途半端なところで中止してしまったら、ターミナルの設定が反映されなくなり、プロンプト($マーク以前の文字のことです)が真っ白な状態になってしまいました。 解決方法をメモしておきます。 プロンプトの設定は環境変数である…

パーフェクトPHP 5.3.2 遅延的束縛がわからない仲間へ

PHP

パーフェクトphpを学習していて、遅延静的束縛で少し困惑したので、自分なりにわかりやすくまとめておきます。 多分、遅延静的束縛で混乱するところはselfとstaticの違いだと思います。 なんでselfからstaticに変えたら親クラスではなく子クラスのメソッドを…

rails チュートリアル第6版 1章 railsの環境構築でつまづいたところ

rails チュートリアル第6版で少し詰まったところをメモとして書き残しておきます。 gem install rails -v 6.0.0が失敗する おそらくこういったエラーが出た方がいるかもしれません ERROR: While executing gem ... (Gem::FilePermissionError) You don't hav…