[iOS_study] Dicee-iOS
iOS

[iOS_study] Dicee-iOS

728x90

Dicee-iOS

주사위 앱 만들기

 

이미지 뷰 속성

  • Aspect Fit: default
  • Scale to Fill: 종횡비 유지하지 않고 늘려짐, 전체를 채울만큼 이미지를 위아래로 늘임
  • Aspect Fill: 종횡비는 그대로 유지하면서 이미지 채우기

 

디자인을 코드와 연결하기

  • 버튼을 control + 드래그 앤 드랍해서 clss와 overide 사이에 삽입
  • 버튼 식별자 이름 지정: 카멜 방식 사용(첫단어만 소문자, 나머지 단어 대문자)

  • 연결된 것 확인: 마우스 우클릭(삭제하려면 x 클릭)

  • 식별자 이름 변경 방법: 코드에서 해당 식별자 마우스 우클릭 -> refactor -> rename

 

코드로 이미지 변경하기

점 표기법
앱이 로드될 때 함수

  • 식별자.속성 = 값

  • 파란색 이미지 더블클릭 후 원하는 이미지 선택

 

화면에서 사용자 상호작용을 감지한 후 코드에 응답하기

  • 버튼 Action 설정하기

: 버튼 선택 후 control+ 드래그 앤 드랍해서 viewDidLoad 함수 종료 다음으로 삽입

+ 버튼 식별자 이름 정해주기, Type을 UIButton으로 변경

 

디자인과 코드 상호작용(IBOutlet, IBAction)

  • 주석: //
  • 콘솔에 출력: print
  • 버튼 클릭 시 이미지 변경

 

에러 처리 방법

  • 메시지의 가장 윗부분으로 스크롤
  • reason 확인하기
  • this class is not key value coding-compliant 구글 검색하기(스택오버플로우)

 

Swift 문법

Swift 주석, Print

  • playground

  • 문자열에 숫자 계산을 같이 출력

문자열 보간
실행 결과

 

Swift 변수, 배열

  • 변수 선언

  • 변수 swap 예시

  • 배열

  • 변수, 배열 예시

 

Swift 상수

 

Swift 데이터 타입

  • String
  • Int
  • Float
  • Double
  • Bool

 

Swift 난수

  • 데이터 타입.random

 

//1과 10사이의 난수 출력
print(Int.random(in: 1...10))

 

  • 배열 난수/섞기

 

소스코드

//
//  ViewController.swift
//  Dicee-iOS13
//
//  Created by Angela Yu on 11/06/2019.
//  Copyright © 2019 London App Brewery. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var diceImageView1: UIImageView!
    @IBOutlet weak var diceImageView2: UIImageView!
    
    var leftDiceNumber = 1
    var rightDiceNumber = 5
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        
    }

    @IBAction func rollButtonPressed(_ sender: UIButton) {
        
        let diceArray = [ #imageLiteral(resourceName: "DiceOne"), #imageLiteral(resourceName: "DiceTwo"), #imageLiteral(resourceName: "DiceThree"), #imageLiteral(resourceName: "DiceFour"), #imageLiteral(resourceName: "DiceFive"), #imageLiteral(resourceName: "DiceSix") ]
        diceImageView1.image = diceArray.randomElement()
        
        diceImageView2.image = diceArray[Int.random(in: 1...5)]
        
        leftDiceNumber += 1
        rightDiceNumber -= 1
        
        //1과 10사이의 난수 출력
        print(Int.random(in: 1...10))
    }
    
}

 

실행결과!

 

 

728x90