美文网首页
第1课 iOS 11, Xcode 9 and Swift 4简

第1课 iOS 11, Xcode 9 and Swift 4简

作者: kkrabbit | 来源:发表于2020-03-02 23:25 被阅读0次

主要内容

课程目标、iOS开发介绍、Concentration小游戏demo

一 课程目标

  • 学习基于swift语言的iOS程序开发及部署
  • 深入理解面向对象的设计方法

二 iOS开发相关

1. iOS操作系统架构
iOS

iOS自底向上分为4层,底层与硬件打交道,上层偏向于应用

  • Core OS ,包括操作系统内核、BSD、文件系统、电源管理等。
  • Core Service,包括文件访问、网络、SQLite等
  • Media,提供媒体服务功能,如图片、PDF、音频、OpenGL功能
  • Cocoa Touch, 多触点,警告,摄像头,GPS等应用服务等

2. IOS开发介绍

IOS开发生态
  • 工具 IDE环境Xcode及支持环境
  • 开发语言 Swift
  • 开发支持包
  • 设计模式 MVC

三 Concertration小游戏DEMO

1 游戏介绍
  • 主界面,包含偶数张表情纸牌(按钮实现,两两表情一样)和一个分数框(文本框)
  • 规则,以四张牌为例,初始状态四张牌均牌面朝下,游戏过程中点击任意一张牌可将牌面反转,分数加1,此时:
    1)如之前无牌面朝上,则刚点击的牌保持朝上状态;
    2)如之前有一张牌面朝上,且刚点击的牌表情与其一致,则两张牌同时在界面消失,反之,两张牌再次牌面朝下
    当所有牌全部匹配成功后,游戏结束,计算分数,分数越低,代表专注力越高。

本节只完成半成品,实现界面设计,实现翻牌及计分功能即可,完整游戏第二节课实现

2 DEMO制作
  • 下载安装Xcode
  • 新建空白工程,熟悉Xcode界面布局
  • 拖拽形式完成storyboard界面设计
  • 完成ViewController.swift源文件编码,实现点击翻照图片,分数更新功能

3 知识点

  • 学会Xcode新建空白single View app工程,学会编译运行
  • 学会基本变量Int,String,Class,函数,初步认识可选类型(optional)

4 示例代码

//
//  ViewController.swift
//  Concertration
//
//  Created by xx on 2020/2/22.
//  Copyright © 2020 Tsinghua University. All rights reserved.
//  GitTest First Time
//  GitTest Sencond Time
//  GItTest Third Time

import UIKit

class ViewController: UIViewController {
    
    var flipCount = 0 {
        didSet{
            flipCountLabel.text = "Flips: \(flipCount)"
        }
    }
    @IBOutlet var cardButtons: [UIButton]!
    
    var emojiChoicces = ["👻", "🎃", "👻", "🎃"]
    
    @IBOutlet weak var flipCountLabel: UILabel!
    
    @IBAction func touchCard(_ sender: UIButton) {
        flipCount += 1
        if let cardNum = cardButtons.firstIndex(of: sender) {
            flipCard(withEmoji: emojiChoicces[cardNum], on: sender)
        } else{
            print("Button doesn't exsit")
        }
    }
    
    func flipCard(withEmoji emoji:String, on button:UIButton){
        if button.currentTitle == emoji{
            button.setTitle("", for: UIControl.State.normal)
             button.backgroundColor = #colorLiteral(red: 0.9607843161, green: 0.7058823705, blue: 0.200000003, alpha: 1)
        } else {
            button.setTitle(emoji, for: UIControl.State.normal)
            button.backgroundColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
        }
    }
}


相关文章

网友评论

      本文标题:第1课 iOS 11, Xcode 9 and Swift 4简

      本文链接:https://www.haomeiwen.com/subject/prfhqhtx.html