Repete Plus(iOS版)
SwiftUIへの書き換えを進めています。
「選曲」部分の書き換えを、先月から続けていましたが、2月いっぱいかかって終了。
デバイス端末内のファイル部分で、難航。
タブとして「アルバム」「アーティスト」「フォルダ」などを並べたViewのもとで、「フォルダ」タブは、ファイルブラウザのように、再帰的な構造になっています。
TabViewのもとで、NavigationStackとNavigationLinkを用いましたが、期待した挙動にならなかったので、TabViewではなく、SwiftUIPagerに変更。
これで、フォルダを選んでそのフォルダの内容を表示、そして、「戻る」ボタンで、元のフォルダへ戻るという動作が正しく動くようになった。
最後のアイテムを画面中央表示する機能を実装。
オーディオファイルのurlから、AVAssetを作成して、ファイルのdurationを取得する機能を実装。
playlist,podcast,albumタブをAlbumスタイルとして、統一した書き方で実装。
songタブは、少し変更が必要。
Recentタブは、データベースからのデータ取得が追加的要素ではなく、最初から必要となるので、また別の書き方が必要。
「タブの並べ替え」機能を実装。
これにあたっては、現在iOSで用いられているアプリ間でもDrag & Dropについて、学び直した。
Drag and drop | Apple Developer
これは、アプリ間でも対応できるDrag & Drop。
これらを実装する過程で、SwiftUIと現在のiOSでの実装の感覚が、わかってきました。
英語学習
スピーク。
コース。
2/9に「キャンパス英語 Part 2」終了。
「初級 Part 1」開始。
今月は、「AI会話」>「今日の出来事を話す」的なものを数回はやりました。
リーグ。ダイヤモンドランク。1週目、ダイヤモンドからチャレンジャーランクへランクアップしたものの、その週のみで、ダイヤモンドへ陥落。(リーグは、一週間ごとに更新されます。練習量でランクは変わります)
バッジ。29単語を正確に発音。223個のレッスン完了。3934文スピーキング。
(前月。35単語を正確に発音。207個のレッスン完了。3809文スピーキング。)