728x90
반응형
SMALL

스위프트의 기초 문법을 익히면서 코딩을 해보려 한다.

 

개발 환경

playground 열기

Xcode 실행 후 [File -> New -> Playground] 클릭

 

다음으로 'Blank'를 선택하고 [Next] 클릭

그럼 아래와 같은 창이 뜨는 것을 확인할 수 있음.

 

코드 실행

코드의 숫자 라인을 보면 맨 아래에 삼각형 시작 버튼이 있다. 클릭하면 모든 코드가 실행이 된다.

728x90

 

조건문

변수 선언

var 변수명 : 타입 = 값
//다크모드 여부
var isDarkMode : Bool = true

 

if 문

if (조건) {
     실행문
}
if(isDarkMode == true){
    print("다크모드 입니다.")
}

 

변수가 참인지 거짓인지 판단하기 위해 '=='을 사용.

값을 출력하기 위해서는 'print("출력문")' 을 사용.

 

코드를 실행해보면 위와 같은 결과를 볼 수 있음.

 

if ~ else 문

if 문 조건에 충족되지 않으면 else 문이 실행된다.

if (조건문){
    //참일 때의 실행문
} else {
   //거짓일 때의 실행문
}
import UIKit

//다크모드 여부
var isDarkMode : Bool = false

if(isDarkMode == true){
    print("다크모드 입니다.")
} else{
    print("다크모드가 아닙니다.")
}

//if문의 조건은 괄호가 없어도 됨.
if isDarkMode == true {
    print("다크모드 입니다.")
} else{
    print("다크모드가 아닙니다.")
}

실행 결과문

 

반응형

조건문 표현법

아래는 다 같은 코드를 의미한다.

 

1. if문 조건을 괄호안에 입력

2. 조건의 괄호를 생략.

3. 논리 조건을 생략하고 변수만 둠.

위의 코드는 if문의 조건이 '다크모드라면~~' 임.
위와 반대로 조건에 ! 를 붙여 '다크모드가 아니라면~~'을 의미함

 

3항 연산자

조건문 ? (참일 때) : (거짓일 때)

위 코드의 의미는
isDarkMode 가 true라면 title에는 "다크모드 입니다." 라는 값이,
false라면 "다크모드가 아닙니다." 라는 값이 대입된다.
그런데 위에서도 마찬가지로
isDarkMode == true를
isDarkMode로 줄일 수 있다.

그럼 isDarkMode가 아닐 때는
!isDarkMode로 !만 추가하면 된다.

 

var title : String = isDarkMode ? "다크모드 입니다." : "다크모드가 아닙니다."
var title : String = !isDarkMode ? "다크모드가 아닙니다." : "다크모드 입니다."

 

 

728x90
반응형
LIST

'IT > Swift' 카테고리의 다른 글

[Swift] 2. 오토 레이아웃(auto-layout)  (0) 2024.05.21
[Swift] 1. Xcode 실행 및 라벨 추가  (0) 2024.05.20
728x90
반응형
SMALL

뷰 컨트롤러(View Controller)

뷰 컨트롤러는 뷰를 감싸고 있는 전체 부분이라고 생각하면 되는데 기본으로 설정되어 있는 크기는

사용자마다 다를 수 있다.

현재 뷰 컨트롤러의 크기는 이와 같다.
하단 부분을 클릭하여 다른 크기로도 변경이 가능하다.

 

오토 레이아웃 기본

라벨 추가하기

+ 버튼을 클릭하여 라벨 추가
추가된 라벨의 text를 'Learn to Code'로 변경.

 

Constraints 추가하기

왼쪽의 Constraints는 이전의 Hello World 라벨을 가로 세로 중앙으로 맞추기 위해 추가했던 것이다.
Learn to Code 라벨을 클릭 후 오른쪽 아래의 가운데 아이콘을 눌러 constraints를 추가할 수도 있다.

여기서 'Spacing to nearest neighbor'라고 쓰여 있는데
선택된 라벨과 가장 가까운 요소와의 거리를 나타내는 것임을 알 수 있다.
위로는 Hello World라벨과 가장 가깝기 때문에 이와의 거리는 142.33픽셀
오른쪽으로 화면 테두리와는 123 픽셀
왼쪽으로 화면 테두리와 162픽셀
아래 화면 테두리와 218픽셀 떨어져 있음을 나타낸다.

상하좌우 중 원하는 것을 선택하여 constraints를 추가한다.
이를 추가하면 빌드했을 때 어떤 디바이스에서도 그만큼 떨어트려진 상태도 보이게 할 것이다. 라는 의미

[Constrain to margins]는 여백을 적용할 것인지? 라는 뜻

중간의 width와 height은 라벨 자체의 크기를 말한다. 
여기서 체크하여 constraints를 추가할 경우
어떤 디바이스에서 빌드하든 그 크기를 고정시키겠다는 의미이다. 

Add 4 Constraints를 클릭하여 추가해보자.

Constraints가 추가된 모습. Learn to Code라벨에 선 4개가 추가됐다.

Build하여 확인해보자.

iPhone 15 Pro의 모습

 

Constraints 수정하기

라벨을 이리 저리 움직여보자.
그럼 파란색이였던 선이 주황색으로 바뀐 것을 볼 수 잇다.
이 색은 문제가 있다는 의미이므로 수정이 필요하다는 것이다.

여기서 노란색 화살표를 눌러보면 어디서 문제가 나타나는지 볼 수 있다.

문제의 노란 삼각형을 클릭해보면 현재 이슈를 수정하는 방법 4개의 메뉴얼을 알려준다.
- Update frames: constraints에 맞게 위치를 조정해라. => 원래 자리로 돌아감.
- Update constraints: 현재 옮겨진 포지션에 맞게 constraints를 변경.
- Reset to suggested constraints: 현재에 맞게 xcode가 적절한 constraints를 제공.

Update frames를 체크하고 [Fix Misplacement]를 눌러 이전으로 다시 조정해보고
또 다시 움직여서 Update constraints도 눌러보자.

라벨을 움직이고 constraints를 상하좌우를 체크하고 추가해보자.

그럼 이와 같이 빨간색 표시가 뜨는데
위의 주황색 표시는 권고사항으로 수정하면 좋겠다~ 라는 의미
빨간색은 중복되는 constraints가 있어 어디에 맞출지 모르니 수정해라! 라는 의미이다.

둘중에 하나를 제거해야 하므로
원하는 constraints를 빼고 체크하여 Delete Constraints를 클릭한다.
728x90
반응형
LIST
728x90
반응형
SMALL

Xcode 설치 및 실행

AppStore 접속
첫번째 Xcode 설치
설치 후 첫 화면

 

iOS 앱 프로젝트 생성

버튼 클릭
iOS -> App 선택 후 Next
위처럼 작성 후 Next
프로젝트를 저장할 폴더를 선택 후 Create
프로젝트 생성 후 첫 화면

라벨 추가하기

 

Main->View Controller Scene으로 이동
+버튼 클릭
Label 드래그 앤 드롭으로 화면으로 가져오기
화면에 Label 이 추가됨
라벨을 더블클릭하여 Hello World로 수정했다. 오른쪽은 한 요소의 상세 속성을 볼 수 있는 부분이다.

 

프로젝트 실행

실행 버튼을 클릭하면 빌드를 진행한다.
빌드가 완료되면 시뮬레이터가 자동으로 실행한다.

지금은 아이폰 크기에 맞춰 예상한대로 결과가 나왔다.
하지만 캔버스가 아이패드가 될 수 있고 달라질 것을 대비하여
자동으로 위치를 맞춰주는 기능이 있다.

요소를 선택하고 오른쪽 하단의 align을 클릭하면 constraints를 추가할 수 있다.

 

수직 수평 모두 체크하고 Add 2 Contraints 클릭
그럼 이렇게 가운데 위치하도록 조정됐다. 앞으로 기종이 바뀌어도 위치는 가운데로 자동으로 고정된다.

728x90
반응형
LIST

+ Recent posts