獣は月夜に何を見る...

【 iPhone 】Swiftでアプリ開発 | データの種類と宣言方法について学ぼう!。

f:id:tukumosanzou:20180908144918j:plain


プログラミング言語には「変数」「定数」に入れられる、データの種類があります。



「変数」「定数」にデータを入れるときは基本的にそのデータの種類を宣言しておく必要があります(Swiftはデータの種類を推測してくれるのですが、データの種類を宣言しておく方が間違いがなくなります。)。


XcodeでPlaygroundファイルを作成してください、名前はなんでもかまいません。



Playgroundファイルについては以下を参考にしてください。

tukumosanzou.hatenablog.com




Swiftにもデータの種類がいくつかあります。


データの種類 説明 宣言の仕方 サンプル
String 文字列 var str: String Hello Playground
Float 浮動小数点(7桁) var flt: Float 12.34567(-12.34567)
Double 浮動小数点(15桁) var doub: Double 12.3456789012345(-12.3456789012345)
Bool 真偽値 var boo: Bool falseまたはtrue
Int 整数 var int: Int 3(-3)
UInt 整数(符号なし) var uint: UInt 3




f:id:tukumosanzou:20180909034442p:plain


Stringは文字どおり文字列のことです。



宣言の仕方は以下のようにします。

var str: String

str = "Hello、Playground"




Float・Doubleはどちらも浮動小数点数ですが、正確さによって違いがでてきます。

var float: Float

//7桁まで表示する
float = 12.34567

var doub: Double

//15桁まで表示する。
doub = 12.3456789012345




Floatは7桁まで表示できます、Doubleの方は15桁まで表示できます。



桁があふれたたら、四捨五入されます。



f:id:tukumosanzou:20180909035227p:plain


Boolは真偽値のことです、「変数」「定数」の中のデータがtrue(真)なのかfalse(偽)の2パターンしかありません。



Intは整数でマイナス(-)の値も含んだものになります、一方UIntも整数なのですが符号なし整数といわれ、マイナス(-)の値を含まずゼロ(0)〜以上の範囲のものになります。



【 iPhone 】Swiftでアプリ開発 | 変数と定数とは?、Playgroundを使って学ぼう!。

f:id:tukumosanzou:20180907114302j:plain


アプリ開発をする中で、プログラムはある時点でデータ(テキスト、数字だったり)を格納しておく入れ物が必要になってきます。



これを、Swiftでは「変数」「定数」という2つの方法があります。



「変数」はその名のとおりに、必要な時にその中身のを入れ替えることができます、逆に「定数」は一度その中身のデータを決めてしまうと入れ替えることができないようになってます。



なぜ入れ物が2種類必要かというと、プログラミングをしていく中で、仮に「変数」だけしかなかった場合に、変えてはいけない「変数」の中身のデータを入れ替えてしまっても気付かないことがありえるからです。



ですから「定数」があることによって、変えてはいけない中身のデータを守ることができるようになります。



まちがえて「定数」の中身を変えてしまうようなプログラムを書いてしまったら、Xcodeが警告を出してくれるので気づくことができます。



では、実際に「変数」と「定数」を使用してみましょう。

XcodeでPlaygroundファイルを作成しててください。


Playgroundについては以下を参考にしてください。

tukumosanzou.hatenablog.com




すでにPlaygroundファイルには以下のようなコードが書かれています。



import UIKIt

var str = "Hello、Playground"




この「str」が「変数」となってます。



「変数」は「var」ではじまります、「var 変数名 = 入れるデータ」が「変数」をつくる式になります。



「変数」strの中身を変更するには下のようにします。



import UIKit

var str = "Hello、Playground"

str = "bye bye"




Playgroundの右側のビルド結果が”bye bye”になっているとおもいます。


f:id:tukumosanzou:20180907112223p:plain


次は、「定数」についてやってみたいと思います。



コードを下のように変更してみましょう。



「var」の部分を「let」に変えてみてくだい。



変数」は「let」ではじまります、「let 変数名 = 入れるデータ」が「定数」をつくる式になります。



import UIKit

let str = "Hello、Playground"

str = "bye bye"




Xcodeが警告をだしてくるとおもいます。



Xcodeに赤い警告分とマークがでてきます、そして問題の部分には文字の下に赤い波線がひかれてるとおもいます。



f:id:tukumosanzou:20180907112841p:plain


赤い警告シンボルをクリックすると、Xcodeが問題の内容を教えてくれます。



「Cannot assign to value: 'str' is a 'let' constant」('値に代入できません: 'str'は 'let'定数です )という意味です。



コマンドパレットにも同じ警告がでます。



ですから、「定数」をつかうことでプログラミングの早い段階でまちがいを発見することができるわけです。


注意:変数名と定数名は、コード内で同じなまえをつかうことができません。同じ変数名を2回使おうとすると、Playgroundでは次のようにエラーがでます。



f:id:tukumosanzou:20180907113228p:plain


「Invalid redeclaration of 'str'」('str'の再宣言が無効です)という意味です。

【 iPhone 】Swiftでアプリ開発 | Xcode10 BetaのPlaygroundの使い方。

f:id:tukumosanzou:20180906143557j:plain



playground(プレイグラウンド)は、コードを入力してすぐに結果を見ることができる、小型のテスト環境です。


実際のアプリをテストすることはできませんが、ちょっとしたコードを書いて処理の確認をしたりできるので、学習等にはたいへん便利なテスト環境です。


かんたんに作ることができますので、さっそくやっていきましょう。


動画で確認できます

youtu.be

Playground(プレイグラウンド)のファイルをつくる

Xcodeアプリ開発なら「 Create a new Xcode project 」を選んで、新しいプロジェクトをつくりますが、今回はその上の「 Get started with a playground 」を選んでください。


f:id:tukumosanzou:20180906122754j:plain



iOS」「 tvOS」「 macOS」とOSの種類がならび、それぞれに「Blank」「 Game」「 Map」「 single View」とカテゴリーがならんでいます。


どれをえらんでもSwiftをつかうことには変わりないのですが、今回は「iOS」の「Blank」選んでおきましょう。



次にplaygroundに名前をつけるわけですが、基本的になんでもかまいませんので、わかりやすい名前でもつけておきましょう。



f:id:tukumosanzou:20180906132604j:plain


コードをビルドするときは、コードの左側にある三角マークをクリックすると、右側にビルド結果が表示されることになります。



f:id:tukumosanzou:20180906133922j:plain



しかし、いつもクリックするのは面倒ですから、ビルドするように設定しましょう。



コードを書く部分とコマンドパレットの間にある四角のアイコンにマウスカーソルを合わせると黒い三角形が出ますので、マウスを右クリック(一瞬長めに)するとポップアップがでますので、「Automatically」にチェックをいれます。



その横の、四角形の中に三角形のアイコンは、コマンドパレットを開閉するためのものです。 f:id:tukumosanzou:20180906135523j:plain



コードにはコメントを入れることもできます、「//」で横1行がコメントとしてあつかわれます、「/」と「/」でコメントの最初と最後をはさむことで複数行のコメントを入れることができます。


コメントは、プログラムが長くなればなるほど、あとで何かをさがしたりするのに役立つメモのようなものです、適切に利用していきましょう。


//1行のコメントのとき

/*
複数行の時
複数行の時
複数行の時
*/

import UIKit

var str = "Hello, playground"

そして、これをビルドしたものが右側に表示されることになります。



f:id:tukumosanzou:20180906141326j:plain



「Hello、Playground」のよこにある目玉のようなアイコンはクリックすると、ビルド結果をポップアップで見ることができます。



その右横の四角形のアイコンはビルド結果がコードのすぐ下にでてきます。



playgroundは、コードを試してみてすぐに結果を見るのにはとても便利ですので使っていきましょう。









【 iPhone 】Swiftでアプリ開発 | Xcode 10 BetaとiOS 12 Betaのインストール方法

f:id:tukumosanzou:20180903032213j:plain




MacOS 10.14(Mojave-Beta)・Xcode 10ベータ版とiOS12ベータ版の両方をダウンロードしてインストールする方法について以下の詳細な手順を説明しました。



MacOS 10.14(Mojave-Beta)・iOS 12 ベータ版・Xcode 10 ベータ版・Swift 4.2でアプリ開発を行うには、iOS 12ベータ版が物理デバイスiPhone / iPad/iPod touch)に、MacMacOS 10.14(Mojave-Beta)・Xcode 10 Betaがインストールされている必要があります。

Swift 4.2はXcode 10 Betaがインストールされれば自動的に一緒にインストールされます。



MacOS 10.14(Mojave-Beta)のダウンロード

1:MacOSバージョンが互換性があることを確認する。



Xcode 10ベータ版は、MacOSがHigh Sierraでも使えますのでMacOS 10.14(Mojave-Beta)を使わないのであれば、「Xcode 10 Betaのダウンロード」に進んでください。





Mavericks、Yosemite、El CapitanSierra、などの以前のOSをまだ使用している場合は、OSを更新する必要があります。



MacOS 10.14(Mojave-Beta)をダウンロード&インストールするには、まずMacMacOS 10.14(Mojave-Beta)に対応していることを確認する必要があります。



対応モデル
MacBook (Early 2015 or newer)
MacBook Air (Mid 2012 or newer)
MacBook Pro (Mid 2012 or newer)
Mac mini (Late 2012 or newer)
iMac (Late 2012 or newer)
iMac Pro (2017)
Mac Pro (Late 2013, plus mid 2010 and mid 2012 models with recommended Metal-capable GPU)




MacOS 10.14(Mojave-Beta)は現時点では、あくまでもベータ版です。

不具合を起こす可能性がありますので、インストールは自己責任ということを覚悟しておきましょう。

一番良い方法は、MacOSは外付けHDD(またはSSD)にインストールして起動できますので、その方法を取るのが良いでしょう。





現在のOSのバージョンを確認するには、お使いのMacの左上にあるappleアイコンに移動します。
🍎マークをクリック→About this Macを選びます。


f:id:tukumosanzou:20180903034901p:plain


次のような画面が表示されます。


f:id:tukumosanzou:20180903035221p:plain


MacOS 10.14(Mojave-Beta)は、Apple Public Beta Programにサインアップして、ここからダウンロードできます。 https://beta.apple.com/

f:id:tukumosanzou:20180903225331j:plain



右上もしくわページ中央のSign Inを選びます。

プロンプトが表示されたら、あなたのApple IDアカウントの詳細(App Storeでのアプリケーションのダウンロードに使用するものと同じ)を入力します。

f:id:tukumosanzou:20180903042349p:plain



開いたページで画面中央の「macOS」を選び、画面右上の「デバイスを登録」を選ぶと「デバイス登録」画面がでます。
あとは画面の手順通りに進めていくと、MacOS 10.14(Mojave-Beta)がMacにインストールされます。

f:id:tukumosanzou:20180903231746j:plain




Xcode 10 Betaのダウンロード

1:Developer Portal(デベロッパーポータル)にログインします。


正しいバージョンのMacオペレーティングシステムを実行していることを確認したら、Apple Developer WebサイトからXcode 10-Betaをダウンロードすることができます。
https://developer.apple.com/download/



プロンプトが表示されたら、あなたのApple IDアカウントの詳細(App Storeでのアプリケーションのダウンロードに使用するものと同じ)を入力します。

f:id:tukumosanzou:20180903040232p:plain



2:Xcode 10 Betaの最新バージョンをダウンロードします。




執筆時点では、最新バージョンはBeta 6です。ただし、ここに表示されている最新バージョンをダウンロードする必要があります。



f:id:tukumosanzou:20180903234546j:plain


注:Xcode 10 BetaはXcode 9と共存できます.Xcode 9を削除する必要はありません。



3:Xcode 10 Betaをインストールする

ファイルをダウンロードしたら、ダウンロードフォルダにXcode_10_beta.xipが表示されます。



ダブルクリックしてインストールウィザードを開始します。



iOS 12 Betaのダウンロード

1:互換性のあるiPhone / iPad/iPod touchバイスがあることを確認します





iOS 12 Betaは現時点では、あくまでもベータ版です。

不具合を起こす可能性がありますので、インストールは自己責任ということを覚悟しておきましょう。

開発専用のデバイス(iPhone/iPad/iPod touch) を用意できるのならば、そちらを使うようにしましょう。

シミュレーターでテストはできますが、カメラや傾きを検出するジャイロセンサー等のiPhone本体の機能はテストできないので注意しましょう。





iOS 12 ベータ版対応デバイス

iPhone
・Phone X
iPhone 8 / 8 Plus
iPhone 7 / 7 Plus
・iPhone 6s / 6s Plus
iPhone 6 / 6 Plus
iPhone SE
iPhone 5s

iPad
・12.9インチ iPad Pro(第1世代)
・12.9インチ iPad Pro(第2世代)
・10.5インチ iPad Pro
・9.7インチ iPad Pro
iPad Air / Air 2
iPad(第6世代)
iPad(第5世代)
iPad mini 4 / 3 / 2

iPod touch
iPod touch(第6世代)



Appleデベロッパーアカウントをお持ちでない場合は、
ここに移動してApple Public Beta Programに登録してください



f:id:tukumosanzou:20180903225331j:plain



右上もしくわページ中央のSign Inを選びます。

プロンプトが表示されたら、あなたのApple IDアカウントの詳細(App Storeでのアプリケーションのダウンロードに使用するものと同じ)を入力します。

f:id:tukumosanzou:20180903042349p:plain



開いたページで画面中央の「iOS」を選び、画面右上の「デバイスを登録」を選ぶと「デバイス登録」画面がでます。

あとは画面の手順通りに進めていくと、iOS 12 ベータ版がiOSに対応したデバイスにインストールされます。

f:id:tukumosanzou:20180904003131j:plain


以前よりも、ベータプログラムの登録やダウンロードがやりやすくはなっているようですね。

ただ、あまり頻繁にやり方が変わると戸惑うところもありますけどね....。



今回は、以上です。





【 iPhone 】Swiftでアプリ開発 | CountUpDownApp

f:id:tukumosanzou:20180830230516j:plain



今回は、かんたんなカウントアプリをつくりたいと思います。


開発環境
iOS 12
Swift 4.2
Xcode 10 Beta



f:id:tukumosanzou:20180830234541g:plain



動画で確認できます




youtu.be


プロジェクトをつくる




Single View Appを選んで、新しいプロジェクトをつくります。



CountUpDownAppとでもしておきましょう。



Main.Storyboardを開きます。



library PanelからButtonを2つ(UPボタンとDownボタン用)とLabel(カウントする数字を表示する)をViewController.swiftに追加します。



ButtonとLabelのそれぞれのTextとFontを変更します。


f:id:tukumosanzou:20180831001042p:plain



Labelの位置をAdd New Alignment ConstraintsでHorizontally in ContainerとVertically in Containerを選んでView Controllerの中央にもってきます。



ButtonはDownボタンを選択して、CTRキーを押したまま左へドラッグするとオプションが出ますので、Leading Space to Safe Areaを選びます。


f:id:tukumosanzou:20180831004113j:plain


同じく、CTRキーを押したまま下へドラッグして、Bottom Space to Safe Areaを選びます。



今度は、CTRキーを押したままUpボタンに重なるまでドラッグします、Upボタンの背景色が変わったらドラッグをやめるとオプションが出ますので、Horizontal Spaceingを選びます。



f:id:tukumosanzou:20180831004319p:plain



Upボタンについては、CTRキー + 右へドラッグでオプションでTrailing Space to Safe Areaを選び、CTRキー + 下へドラッグしてBottom Space to Safe Areaを選びます。



f:id:tukumosanzou:20180831004934j:plain


これで、ButtonとLabelの位置が決まりました。



Swiftコードを書きます。




Main.storyboardとViewController.swiftをつなげます。


Main.storyboardとViewController.swiftを同時に開いて、LabelからCTRキー + ドラッグで@IBoutletをつくります。


f:id:tukumosanzou:20180831005828p:plain



各Buttonも、それぞれ同じやり方で@IBActionをつくります。



f:id:tukumosanzou:20180831010240j:plain



実際に、数字をカウントするために使用する変数をつくります。


var count = 0とします。


ViewController.swift


import UIKit

class ViewController: UIViewController {

    //LabelとViewController.swiftをつなぐ変数。
    @IBOutlet var countBox: UILabel!
    
    //数字をカウントする変数。
    var count = 0
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

     //UpボタンををViewController.swiftとつなぐ関数
    //タッチすると数字がアップする。
    @IBAction func CountUP(_ sender: Any) {
        
        //変数countに1を足す、count = count + 1と同じ意味。
        count += 1

        //カウントされた数字を文字に変換して、表示用の変数countBoxのtextに入れる。
        countBox.text = String(count)
    }
    
    @IBAction func countDown(_ sender: Any) {

        //変数countから1を引く、count = count - 1と同じ意味。
        count -= 1

        //カウントされた数字を文字に変換して、表示用の変数countBoxのtextに入れる。
        countBox.text = String(count)
        
    }
    
}




String()は,数字等を文字に変換することができます。



String - Swift Standard Library | Apple Deveroper Documentation






以上が、かんたんなカウントアプリのつくり方でした。


【 iPhone 】Swiftでアプリ開発 | UIImageViewApp

f:id:tukumosanzou:20180828022452j:plain

今回は、ボタンをタッチすると画面の背景画像が変わる、かんたんアプリのつくりかたです。

開発環境
iOS 12
Xcode 10
Swift 4.2



f:id:tukumosanzou:20180828023326g:plain


動画で確認できます





プロジェクトをつくる

XcodeでSingle View Appで新しいプロジェクトをつくります。


UIImageViewAppとでもしておいてください。


Main.storyboardを表示して、library PanelからImage ViewをView Controllerにドラッグして追加します。


Image Viewは場面いっぱいに広げてください。


f:id:tukumosanzou:20180828030300p:plain

使用する画像を、Assets.xcassetsフォルダに追加します。






Image Viewを選択したままAttributes InspectorのImageで画像を選びます。


f:id:tukumosanzou:20180828031901p:plain

Content ModeをAspect Fillにします。


Scale To Fit
・Image View のサイズと画像のサイズが同じになります。
・画像のサイズがImage Viewより小さいと横に伸びてしまいます。


Aspect Fit
アスペクト比を維持したまま、画像のすべてが表示されるようにリサイズされます。
・画像のサイズがImage Viewより小さいと、その部分にすき間ができます。


AspectFill
アスペクト比を維持したまま Image View に空きがないように、いっぱい表示されます。

基本的に、この3つが理解できてれば初めのうちは大丈夫だと思います、他のオプションについては下のリンクのUIImageView.ContentModeのドキュメントを見てください。

f:id:tukumosanzou:20180828032050j:plain



Buttonを追加してフォントとサイズを変更します。




Buttonの位置をAdd New Alignment ConstraintsでHorizontally in Constraintsとvertically in Constrainsを選んで画面の中央に持ってきます。




次に、ドラッグして画面の下の方に移動して、その後にResolve Layout IssuesをクリックしてUpdate Constraint Constantsを選びます。


f:id:tukumosanzou:20180828233547j:plain





Buttonとストーリーボードをつなげます。


f:id:tukumosanzou:20180829004718j:plain






Swiftコードを書きます

ViewController.swift

import UIKit

class ViewController: UIViewController {

    //UIImageViewとstoryboardをつなぐ背景画像をいれる変数
    @IBOutlet var BackgroundImage: UIImageView!

    //画像を入れる変数をつくる
    var image1: UIImage!
    var image2: UIImage!

    //画像を切り替えるため判定用の変数をつくり、初期値をfalseにする
    var flg = false
    
    //最初に呼び出される関数
    override func viewDidLoad() {
        super.viewDidLoad()
        
        //変数にそれぞれ画像をいれる
        image1 = UIImage(named: "woman1")
        image2 = UIImage(named: "woman2")
       
    }

    @IBAction func touchButton(_ sender: Any) {
        
        //flgがtrueのときの処理
        if flg {

            //背景画像をimage1(つまりwoman1)にする
            BackgroundImage.image = image1

            //判定用の変数にfalseをいれる
            flg = false

        //flgがtrueでないときの処理
        }else{

            //背景画像をimage2(つまりwoman2)にする
            BackgroundImage.image = image2

            //判定用の変数にfalseを入れる
            flg = true
        }
        
    }
    
}



かんたんな、if { trueの時の処理 }~ else { falseの時の処理 }分で判定式をつくってます。


flg = true → woman1、flg = false → woman2なので判定用の変数flgには、次の画像のための真偽値を入れる。






UIImageView - UIKit | Apple Developer Documentation
contentMode - UIView | Apple Developer Documentation
UIImageView.ContentMode - UIView | Apple Developer Documentation


Udemy 夏の学び直しキャンペーン 開催中です!

f:id:tukumosanzou:20180824123402j:plain



まだまだ暑い日が続いてます。


すずしいクーラーのある我が家から出たくないものです。


こんな時は、普段できていなかった学習をしてみてはいかかでしょうか?。


「で、何するの?」ってなりますよね。


ご心配なく!、これがあるんですよ!


Udemyがキャンペーン中!

f:id:tukumosanzou:20180824124614j:plain


世界最大級のオンライン学習プラットフォーム Udemy がこの夏最大のキャンペーン、夏の学び直しキャンペーンを開催してます(8月31日まで)



        





Udemy(ユーデミー)については以前、こちらにも書かせてもらいました。

tukumosanzou.hatenablog.com



有料の講座が、1200円からとお安くなっております。


今回は、サイト・アプリどちらから購入しても1200円からとなってます!。


f:id:tukumosanzou:20180824130306j:plain


この価格が、最安値なので普段から学習したいと思っていたものや、Udemy が気になっていた方、ほしいと思ってい講座があった場合は絶好のチャンスだと思いますよ。



金保証もあるから安心!

もし、購入した講座が思っていたのと少しちがうかもと思ったりしたら、30日以内だったら返金してくれる制度があるので安心です。


わたしも、返金してもらったこともあります。



対応も早く、親切ですので大丈夫ですよ。
※ただし、iPhone/iPadアプリからの購入は返金対象外ですので、そこはお忘れなく。



おすすめ講座

web開発


www.udemy.com

www.udemy.com

www.udemy.com


モバイルアプリ


www.udemy.com

www.udemy.com


写真


www.udemy.com

www.udemy.com


言語


www.udemy.com

www.udemy.com


デザイン


www.udemy.com

www.udemy.com


まとめ




ご紹介したものは、ごく一部です。


まだまだ、たくさんの講座があります。


あなたの好みのやさがしていた講座が見つかるかもしれません。


ぜひ、いちど世界最大級のオンライン学習サイトUdemy を利用してみてください。