投稿

ラベル(List)が付いた投稿を表示しています

【SwiftUI】Listを使ってリストを作ってみる

イメージ
この記事の概要 簡単なサンプルアプリを通して、SwiftUIにおけるListの使い方をおさらいします。 目次 この記事の概要 目次 作るもの プロジェクトを作る 完成形 まとめ 参考文献 作るもの 週刊少年ジャンプ連載中の漫画・ハイキュー!!に登場するキャラクター5人の情報をリスト形式にまとめたアプリを作りながら、Listの使い方をまとめようと思います。 完成イメージはこんな感じです。 [図1] 完成イメージ プロジェクトを作る ページ上部のナビゲーションメニューの[New]>[File]より、[SwiftUI View]を選択し、ファイル名を指定。自分の場合は[ListSampleView]と設定します。 [図2-1]  [図2-2] まずキャラクタークラスを定義してあげます。大事なのはCharacterクラスの型をIdentifiableにしておくこと。今回は、背番号(player_number)と氏名(name)、そしてポジション、CV(声優)の4つのプロパティを用意してあげます。idはリストの項目固有のidである、くらいの認識で大丈夫です。 struct   Character :  Identifiable {      var   id :  Int //リストアイテム固有のID      let   player_number :  String //背番号      let   name :  String //名前      let   position :  String //ポジション      let   CV :  String //声優 } それが出来たら、今度はListSampleViewの中に今回用意する配列を書きます。実務であればここの配列はAPIなどから値を取ってくるコードになるのですが、難しくなるので今回は省略し...

【SwiftUI】Cannot invoke initializer for type 'XXX' with an argument list of type エラーへの対処法

この記事の概要 SwiftUIにおける、Cannot invoke initializer for type 'FugaFuga' with an argument list of type '(hogehoge: hogehoge)'エラーにどう対処すればいいか、について書いていきます。 目次 この記事の概要 目次 やろうとしたこと 発生したエラー エラーの翻訳 解決策 参考文献 やろうとしたこと SwiftUIを勉強しており、Listを使ったデータ表示の方法を勉強していた。参考にしていたサイトは次のサイトである:SwiftUIでListを表示する https://swiswiswift.com/2019-11-13/ ここに書いてあるコードを参考に、以下のコードを自分で打った。 import SwiftUI //charcterクラス struct character : Identifiable { //characterクラスの中に付与したい情報の定義     var id : Int     let name : String } //Viewクラス struct ListSampleView : View {     //データベース(配列)の用意     let charas : [ Character ] = [         Character (id: 1 , name: "日向翔陽" ), //このコードに Cannot invoke initializer for type 'Character' with an argument list of type '(id: Int, name: String)'エラーが発生する。         Character (id: 2 , name: "影山飛雄" ),         Character (id: 3 , name: "月島 蛍" ),   ...