IOS STUDY

[iOS_study] Dicee-iOS

dev.lim 2023. 12. 23. 16:39

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 2023/12/19
//  Copyright © 2023 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))
    }
    
}