본 포스팅은 유데미의 iOS & Swift - The Complete iOS App Development Bootcamp 강의를 참고하여 정리하였습니다.
Image View 를 이용해서 이미지가 전체 영역을 덮도록 하려면 Image view의 속성(Content Mode)에서 Scale to Fill을 선택하면 전체적으로 이미지가 덮이게 된다 (위아래로 늘려서)
수업 자료에 나와있는 것 토대로 따라서 디자인 해주었다.
코드파일은 ViewController.swift가 될 것이다.
Main.storyboard 파일에서 구성요소에 엑세스하는 방법은 Main.storyboard를 열고 편집기 옵션을 클릭하면 Assistant 보기를 선택할 수 있다. (안드로이스 스튜디오도 비슷한 기능이 있었는데 흐름이 비슷한 듯 하다.)
왼쪽은 Design 부분을 오른쪽은 Code 부분을 보여주는 것이다.
특정 사용자 인터페이스를 참조할 수 있도록 디자인 파일의 요소, IB outlet 혹은 Interface Builder outlet이라고 불리는 것을 만들어야한다. 따라서 Main.storyboard는 Interface Builder로도 알려져있다.
IB outlet을 생성하기위해선 컨트롤 버튼과 왼쪽 Design 파트에서 원하는 요소를 클릭 후, 코드 파일로 드래그를 한다.
그러면 이렇게 어떤 이름을 지정할 지에 대한 팝업에 뜨게 된다.
변수 이름이 일치하지않으면 SIGABRT와 같은 오류가 뜨게 되니 조심하자.
(Main.storyboard에서 소스파일을 통해 어떤 이름으로 변수를 지정했는 지 확인할 수 있다.)
강의챌린지인 코드를 통해 이미지의 불투명도 조정하기 성공
ImageView의 속성에서 alpha값을 조정하기만 하면 된다. 코드가 직관적이라서 좋다.
IBOutlet : 사용자 인터페이스에서 코드가 변경되기를 원하는 위치
IBAction : 사용자 인터페이스와의 상호작용으로 인해 코드에서 무언가 발생하는 경우
Design <--(IBOutlet)---- Code
--(IBAction)---->
print(f"{2+3} world")와 같은 실행문은
print("/(2+3) world")
이렇게 문자열 사이에 코드를 추가하는 방식을 문자열 보간 (string interpolation) 이라고 부른다.
주사위 이미지들을 배열안에 넣어준다. (배열의 형태는 파이썬과 비슷하다.) 인덱스로 접근해서 버튼을 누르면 주사위의 이미지가 변경될 수 있도록 한다. (아직 조건문을 넣지않았기 때문에 실행을 계속하다가 index 에러가 발생한다.)
변수에 관한 설명이다. 흔히 다른 문법 기초에서 배운거랑 같은 흐름이기 때문에 여기에선 생략한다.
배열에 관한 설명이다. js에서의 배열 형태랑 비슷하다. 이 내용 역시 여기선 생략한다. 코딩이 처음이 아닌 사람들은 이 부분들은 건너뛰어도 될 듯하다.
파이썬과 동일하게 +=, -= 같은 문법을 사용할 수 있었다.
Int.random을 통해 난수를 생성해서 주사위 이미지를 랜덤으로 나올 수 있게 설정한다.
코드를 더 단순하게 하는 작업을 리팩토링이라고 부른다.
Swift에서 등호 양쪽에 공백이 동일하도록 맞추는 것이 좋다.
상수 선언 : let 변수 선언 : var