マガジンのカバー画像

Swiftでいこう!

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

2018年12月の記事一覧

SwiftでHappy New Year!

新しい年を迎えるということで、ちょっと新年の挨拶を使って復習していきます。 まず変数宣言です。 var newYear = "Happy New Year" for in で出力します。 for char in newYear{ print(char, terminator: "")} Happy New Year と出力。 次は新しい文字を追加してみよう! var addText = " 2019!" newYear.append(addText)pr

Swiftで行こう! -- Delegation

Delegation、日本語で委譲を意味します。 冷蔵庫を考えてみます。冷蔵庫には冷蔵、冷凍の機能が備わってます。 冷蔵庫ですが使う人により必要な機能、いらない機能があります。 この機能についてを切り離して実装できると言うのが委譲の仕組みです。 冷蔵の機能としては冷やすという機能について通常の冷蔵(4℃)、チルド(0℃)、急速冷蔵、などが考えられます。 実装としては機能については通常の冷蔵で良いのであれば実装するときには冷蔵のみを組み込んでやればOKです。 簡単に

Swiftで行こう!-Protocol(型として使う)

protocolです。 protocol RandomNumberGenerator { func random() -> Double} classを作ります。 class LinearCongruentialGenerator: RandomNumberGenerator { var lastRandom = 42.0 let m = 139968.0 let a = 3877.0 let c = 29573.0 func random()

Swiftで行こう!-Protocol(要件追加)

まずはmutatingを必要とする場合です。 構造体structでは基本的に値を変えることはない。もし変えるように作るときはmutatingとつけてfunc関数を定義します。 structのためのprotocolを作る場合でもfuncの前にmutatingをつけて定義します。 protocol Togglable { mutating func toggle()} として、使うときは、 enum OnOffSwitch: Togglable { case o

Swiftで行こう!-Create ML!

簡単にCreate MLを使って機械学習をやってみましょう。 Playgroundsで実行します。注意点を一つ。これはmacOS版を使わないとうまくいきません。 MLImageClassifierBuilderを初期化して表示させます。 コードは import CreateMLUIlet builder = MLImageClassifierBuilder()builder.showInLiveView() これだけです。実行します。 こんな感じで表示されるので、

Swiftで行こう!-protocol,class!?

protocolとclass の関係、使い方が少しわかりにくいですね。 でもちょっと考えてみましょう。それはわかりやすさと使い方です。まずはprotocolで定義してからClassを定義したもの。 protocol RandomNumberGenerator { func random() -> Double}class LinearCongruentialGenerator: RandomNumberGenerator { var lastRandom = 42