iOSアプリ開発 Swiftでクイズアプリを作ってみる 前編

2019年7月22日月曜日

iosアプリ開発 Swiftでクイズアプリを作ってみる

t f B! P L








目次

1. 新規プロジェクトの作成
2. Main.storyboard  LabelとButtonとUIImageの配置
3. QuizViewControllerの作成  LabelとButtonとUIImageの接続
4. CSVファイルの作成  クイズ問題の作成
5. CSVファイル読み込み 関数





1. 新規プロジェクトの作成




Single View Appを選択してNext



Product Name、Organization Name、Organization Identifierを入力してNext




2. main.storyboard  LabelとButtonの配置


オブジェクトからButtonを選択、View Controller上に配置



STARTボタンにします。



となりにもう一つView Controllerを配置します。


オブジェクトライブラリからView Controllerを選択。

2つのView Controllerができました。


STARTボタンと追加したView Controllerを接続します。


STARTボタンを選択、Controlキーを押しながら右側のView Controller上に移動させマウスボタンを離します。

Action Segueが表示されるので、Present Modallyを選択。


Segueが表示されます。



右側のView ControllerにLabel2つとButton4つを配置します。



オブジェクトライブラリからImage Viewを選択。


上から2つ目のLabelの上に2つ重ねます。


Assets.xcassetsを選択して、用意していた⭕️正解と✖️不正解の画像を追加します。


Main.storyboardに戻り、Image Viewを選択します。


右側ユーティリティエリアの属性インスペクタを選択。
  • Image ViewのImageを⭕️正解にします。
  • ViewのContent ModeをAspect Fitにします。
  • Alphaを0にします。


もう一つのImage Viewを✖️不正解にして、同じ設定にします。





3. QuizViewController.swiftの作成  LabelとButtonとUIImageの接続


新規ファイルの作成、Cocoa Touch Classを選択して、Next。

Class名をQuizViewControllerにします。


Main.storyboardで右側のViewControllerを選択。

右側のアイデンティティインスペクタを選択。

Custom Class内のclassをQuizViewControllerにします。



アシスタントエディタを表示します。


左側にMain.storyboard、右側にQuizViewController.swiftを表示させます。


Main.storyboardの一番上のLabelをコントロールキーを押したまま、右側のコード上にドラッグ&ドロップします。

Nameを入力してConnect


下のLabelとButton4つも同じ手順でドラッグ&ドロップします。



@IBOutlet weak var label00: UILabel!
    
@IBOutlet weak var label01: UILabel!
    
@IBOutlet var button01: [UIButton]!




Buttonを押した時のアクション


Main.storyboardのButtonをコントロールキーを押したまま、右側のコード上にドラッグ&ドロップします。

Nameを入力してConnect



下の3つのButtonも接続します。

@IBAction func buttonCheck(_ sender: Any) {
}





@IBOutlet weak var currectAnswer: UIImageView!
    
@IBOutlet weak var incorrectAnswer: UIImageView!






4. CSVファイルの作成  クイズ問題の作成

New FileからEnptyを選択Next

Save As: クイズ問題.csv 

Create



ワンピースの主人公、モンキー・D・ルフィの兄弟は誰?,ポートガス・D・エース,モンキー・D・ガープ,モンキー・D・ドラゴン,ゴール・D・ロジャー
スラムダンクの主人公、桜木花道のチームメートは誰?,流川楓,仙道彰,清田信長,青田龍彦
ドラゴンボールの主人公、孫悟空の兄弟は誰?,ラディッツ, ターレス,ブロリー,バーダック


クイズ問題,クイズの答え,ダミーの答え,ダミーの答え,ダミーの答え





5. CSVファイル読み込み 関数


var csvArray: [AnyObject] = []

func csvToArray() {
        
        if let csvPath = Bundle.main.path(forResource: "クイズ問題", ofType: "csv") {
          
            do {
                
                let csvStr = try String(contentsOfFile: csvPath, encoding: String.Encoding.utf8)
                
                let csvArr = csvStr.split(separator: "\n").map(String.init)
                
                for csvFile in csvArr {
                    
                    let csvsplit = csvFile .components(separatedBy: ",")
                    
                    csvArray.append(csvsplit as AnyObject)
                    
                }
                
                print(csvArray)
                
            } catch let error as NSError {
                
                print(error.localizedDescription)
                
            }
        }
    }

override func viewDidLoad() {
        super.viewDidLoad()
csvToArray()
}

viewDidLoad()内にcsvToArray()






keep175
Illustrator,photoshop,アプリ開発の勉強中です。

アーカイブ

QooQ