マガジンのカバー画像

Swiftでいこう!

585
楽しくプログラミング!Swiftはなんだか楽しい"ことば"です。
運営しているクリエイター

2022年11月の記事一覧

SwiftUIでいこう! - カレンダー 2

それではカレンダーっぽくしていきます。まずは曜日を入れていきます。 "ContentView"に書いていきます。 var body: some View { DateScrollerView() .environmentObject(dateHolder) dayOfWeekStack } DateScrollerView()の並びに曜日を表示させる"dayOfWeekStack"を作ります。

SwiftUIでいこう! - カレンダー 1

SwiftIUIでカレンダーを作っていきます。動画を参考に自分でもコードを書いて実行してみます。 まずはカレンダーを表示させる"月"を自由に変更できるようにボタンを設置します。ボタンを押せば前の月、後ろの月の表示へ切り替えることができるようにします。以下のような感じにしていきます。 ContentViewは表示部分のコードです。起動時に最初に読み込まれ表示されます。ここにスクロールできるView、DateScrollerViewを別ファイルで作り作り入れ込みます。 Co

SwiftUIでいこう! - 時計

今の時間をリアルタイムに表示できるようにします。 まず今の日付、時間を取得します。 var nowDate = Date() そして DateFormatter()を変数に入れて使えるようにします。これでいろんな表示に対応させる道具が出来上がります。 let dateFormatter = DateFormatter() どんな表示がいいか決めて使えるようにします。 init() { dateFormatter.dateFormat = "YY

Pythonでモンテカルロ法

要するに、乱数を使って計算させるに手法ということです。乱数とはランダム(いろんな、無作為、適当)な数値という意味です。 さて、このモンテカルロ法で円周率の近似値を求めることができます。 確率の原理を使います。四角の中に円を書きます。その四角の中にランダムに点を打っていき、四角全体に点が打たれた中で、円の中に打たれた点の比率で円周率の近似値を求めるという方法です。 式にすると。半径1の単位円の面積とその円を内包する四角についての式は 全ての打つ点"n"に対する円に入る"

Swiftでアプリ。- 作ってみよう。ループでカレンダー

1ヶ月の日数を"31日"火曜日始まり(カレンダーは日曜日始まり)。この設定でコードを書きます。 最初の条件 let days = 31let firstDay = 2        // "0"が日曜日、 "1"が月曜日、"2"が火曜日var w = 0 // 日曜日が"0"while w < firstDay{  print(" ",terminator: "")  w += 1}    // 火曜日スタートなので 日曜日、月曜日

Swiftでアプリ。- 作ってみよう。 タブアプリ

Macのplaygroundsアプリ(iPadのSwift Playgroundsと同じ)の中のサンプルアプリを試して作り方を見ていきます。タブで画面を切り替えられるアプリです。 アプリの中で"プロフィール"を選んで作っていくことができます。あとアップルのサイト 英語ですがチュートリアルサイトがあります。アプリの方が日本語でも説明されていてわかりやすくて良いです。 タブで切り替えて使うアプリの作成です。タブアプリのトップ画面のレイアウトになります。 起動後に最初に表示

Swiftでアプリ。- 作ってみよう。 for-in文

繰り返しをさせる命令です。while では条件を決めてその条件内でループ、繰り返しをしましたが、for-in文では数字で指定または配列の値を取り出して利用できたりします。 単純なものでは for i in 1..<3{ print(i)} と出力されます。1から3以下と言う意味になります。1…3にすると1,2,3と出てきます(1から3という意味になります)。 for の後の"i"は暗黙的に"let"が入ります。C言語などではforの後の変数を定義しないと行けなか

Swiftでアプリ。- 作ってみよう。 while文

詳解Swiftより例題で出されているものをちょっと考えながら書いて実行して理解を深めます。 while文 整数のビット数を求めます。 ビットとは ということで、 let val = 10032var i = 1,mask = 2while mask <= val{ mask <<= 1 i += 1}print(i) // 14print(mask)  // 16384 これを実行すると"14"と出てきます。maskは16384となっています。 2進数で