マガジンのカバー画像

Swiftでいこう!

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

2018年5月の記事一覧

Swiftでいこう -- 定番!fizzBuzz

3の倍数のときは「Fizz」と、5の倍数のときは「Buzz」、3と5両方の倍数の場合には「FizzBuzz」と出力させるものです。 func fizzBuzz(_ numberOfTurns: Int) { for i in 1...numberOfTurns { var result = "" if i % 3 == 0 { result += "Fizz" } if i

Swiftでいこう -- 図形をかいてみよう!

Playgrounsで図形を書いてみましょう! まず、iOSの基本となるフレームワークであるUIkitをまず読み込みます。 import UIKit そして、UIBezierPath()ですね。基本的な図形を書くときにつかいます。 let line = UIBezierPath();// 起点line.move(to: CGPoint(x: 5, y: 16))// 帰着点line.addLine(to: CGPoint(x: 20, y: 60))line.addL

Swiftでいこう -- 配列であそぼ。

まず、条件を満たす要素、数字を取り出す "filter"です。 var arr = [4,1,5,2,7,3] の配列に対して、 var filter = arr.filter{$0 < 5}print(filter) // 5より小さい数字は[4, 1, 2, 3] $0 < 5 $は任意の数字ということでこの場合は[4,1,5,2,7,3]の数字が一つづつ取り出されて"< 5"で比較していきます。"5"より小さいのはなんですか?ということで1,2,3,4が該当!

Swiftでいこう -- Playgroundで試そう!

アプリづくりの第一歩としてapple が作成しているフレームワークをXcodeのplaygroundを使って試してみましょう! まず、画像でも見えますが、"import Foundation"として、Foundationをimport (読み込み)します。これをすることによって組み込みの命令が使えるようになります。 ということで、今回は日付に関するものを簡単の表示してみましょう。 var now = Date()  とすると今日、5/15ですと 変数 "now""には

Swiftでいこう -- はじめかた。

なかなか初めてのことはとっかりが難しい場合が多い。そんななかで、無料のテキストなどあれば、ちょっとやってみようかな?と手をだすこともあると思います。 そこで、Swiftをちょっと覚える手始めとしては アップル がやっているiBooks(本の有料販売、無料配布など)でSwiftの本があったのでちょっと"開発入門編"のぞいてみましょう。 アプリケーションの開発をする方法として、基本的なことから書いてあります。サンプルもあり良さそう! 次に ここから本番。 準備からはじ

Swiftでいこう -- Genericsを使おう。

関数 func でGenericsを使う場合の使い方をみていきましょう。 通常の使用だと、 func value(_ a:Int){ print(a)}value(2) // "2"と表示value("value") // エラーで表示されず func value(_ a:Int)としているので"Int"以外だとエラーで表示されない。 そこで、<T>の登場です。 func value<T>(_ b:T){ print(b)}value(2) // "2"と表

Swiftでいこう -- アルゴリズムでいこう。3

Swift Algorithm Clubさんより。 挿入ソート Insertion Sort 挿入ソートは配列の整列済みの部分に対して新たな要素を適切な位置に挿入することで整列を行うアルゴリズムです。 挿入ソートは常に隣り合う要素で比較、交換を行います。 func insertionSort(_ array: [Int]) -> [Int] {var a = array for x in 1..<a.count { var y = xwhile y > 0 &&

Swiftでいこう -- アルゴリズムでいこう。2

Swift Algorithm Clubさんより。 選択ソート Selection Sort 最初に配列の中から順番に最小値(最大値)を探します。見つけた値と配列の先頭[0]の値と交換します。 先頭[0]は最小値ということがわかったので、[0]は置いといて、次、[1]の値を対象に配列内の数字と比べます。見つかった値を配列の[1]と交換します。 [0]から順番に[1][2][3]・・・と比較交換を行います。これの繰り返しです。 func selectionSort(_

Swiftでいこう -- Protocolを使おう。

Swiftでは変数や関数をまとめて"class","struct"で定義してコードを書いて行きます。例えば class Peaple{ var name:String = "taro" // 変数の定義 func greet(){         // メソッドの定義 print("Hellow") }} ですね。 Protocol とはなんでしょうか?class,structは具体的な実装がされています。プロパティがあってメ

Swiftでいこう -- アルゴニズムでいこう。

Swift Algorithm Clubさんより。最大公約数を求める公式について考えましょう。 最大公約数(GCD)--少なくとも1個が0ではない複数の整数の公約数のうち最大のものを指す。 2 つの自然数 a, b (a ≧ b) について、a の b による剰余を r とすると、 a と b との最大公約数は b と r との最大公約数に等しいという性質が成り立つ。この性質を利用して、 b を r で割った剰余、 除数 r をその剰余で割った剰余、と剰余を求める計算を逐

Swiftでいこう -- Extensionsで拡張!

計算プロパティ(class、struct) タイププロパティ メソッド subscript プロトコル など に機能を追加できます。 たとえば、 var num:Int = 9 変数"num"は"Intの型"の数字を指定しています。 この"Int"に機能を持たします。"Int"を指定して定義するときに使えるようになります。 まずはextensionしてみましょう。 extension という接頭語をつけます。例えば、 "extension Int{処理}"

Swiftでいこう -- Subscriptって。

Subscript 日本語で添字です。いわゆる[ ]でアクセスするあれです。例えば配列がわかりやすいですね。 var a = [1,2,3,4,5] があります。 "a[0]"を表示させましょう。配列の番号は0から始まるので、a の配列の0番目は"1"ですね。 print(a[0]) // 1と表示 配列とは違う使い方も紹介しますね。 struct 構造体の中にsubscriptを定義して計算させます。 struct TimeTable{ let mult