マガジンのカバー画像

SwiftUIでいこう!

230
SwiftUIで簡単、プログラミング! 少しずつ理解していきます。
運営しているクリエイター

2022年1月の記事一覧

Swiftでいこう! - CSVを配列に。

Swiftでいこう! - CSVを配列に。

CSVを読み込んで使いやすいように配列にします。

上記サイトで紹介されているCSVの扱いを参考に理解しやすいように分解してみたいと思います。

Pygroundで実行します。CSVもそのまま利用させてもらいました。クイズの問題を使い処理を順番に見ていきます。

import Foundation

まず、ライブラリを読み込みます。

CSVを配列に入れます。入れる変数定義です。

var cs

もっとみる
SwiftUIでいこう! -その他いろいろ(new!)-4

SwiftUIでいこう! -その他いろいろ(new!)-4

submits a TextField

との組み合わせでパスワードを使ったログインのような仕組みができます。
この場合は名前とパスワードを入れてリターンすると"Authenticating…"とコンソールに出力するコードとなっています。
ログインする時ボタンを押すタイミングでの処理を書くことができます。

privacySensitive()

customize the submit butt

もっとみる
SwiftUIでいこう! -その他いろいろ(new!)-3

SwiftUIでいこう! -その他いろいろ(new!)-3

SF Symbols

SF Symbolsを使った画像の表示の方法を簡単にカスタマイズできるようになりました。

4種類が用意されています。

Image(systemName: "exclamationmark.triangle.fill") .symbolRenderingMode(.hierarchical) .font(.sys

もっとみる
SwiftUIでいこう! -その他いろいろ(new!)-2

SwiftUIでいこう! -その他いろいろ(new!)-2

badge(Tab and List) バッジをつけます。

Tabの場合

Text("Your home screen here") .tabItem { Label("Home", systemImage: "house") } .badge(5)

リストの場合は

もっとみる
SwiftUIでいこう! -その他いろいろ(new!)-1

SwiftUIでいこう! -その他いろいろ(new!)-1

More welcome improvements

いろいろ追加機能が紹介されているので実行して試してみます。

"TextField"のモディファイア

引数にBool(真偽値)な変数を入れてその真偽でテキストフィールドにフォーカスを当てます。

変数の宣言は以下@FocusStateをつけます。

この変数のTrue,Falseによってキーボードのオンオフもできるようになります(出たり引っ込

もっとみる
SwiftUIでいこう! -Actor(new!)

SwiftUIでいこう! -Actor(new!)

actorを使うことで非同期のデータ競合を回避ができるようになりました。

例えば、

actor TestActor { let name = "aaa" var number: Int = 0}

と宣言して

let testActor = TestActor()

とインスタンス化して使ってみます。

testActor.name

で実行するとしっかり実行されますが、

te

もっとみる
SwiftUIでいこう! -Async/Await(new!)

SwiftUIでいこう! -Async/Await(new!)

まずは説明がある公式サイト

いろんな使い方を説明してあるサイトです。

英語サイトはちょっとわかりにくいので

日本語でわかりやすく説明されているサイト、動画です。

同期、非同期を考えながらわかりやすく説明されているサイト。すごくわかりやすくて良いです。XcodeのPayground で紹介されているのも実行しやすくて大変参考になります。

XcodeのPlaygroundで実行していきます。

もっとみる
SwiftUIでいこう! - Toolbar( .keyboard )

SwiftUIでいこう! - Toolbar( .keyboard )

placementに.keyboardを指定するだけです。

struct ContentView: View { @State private var name = "Taylor Swift" @FocusState var isInputActive: Bool var body: some View { NavigationView {

もっとみる