티스토리 뷰

반응형

안녕하세요. 09LABS입니다.

오늘은 iOS 프로그래밍의 기초 강의를 시작해보려고 합니다.

iOS는 원래 Object-C 언어로 개발했었지만 2014년 애플 WWDC에서 공개된 프로그래밍 언어인 Swift로 개발하게 됩니다.

코드 내부에서 C나 Object-C 코드를 섞어서 사용할 수 있다고 합니다만.... C언어를 주로 사용하는 저로서는 아직 확인할 길이 없네요.

우선 Swift는 크게 두 가지로 나눌 수 있습니다.

Swift 5는 쉽게 생각하면 C언어, JAVA와 같은 프로그래밍 언어이고

SwiftUI는 UI를 프로그래밍하는 언어입니다. SwiftUI는 기존의 iOS 앱 개발 시 스토리보드를 사용하여 UI를 개발하였지만

대규모일 경우 협업, 유지 보수에 어려움이 있어 SwiftUI를 사용하게 됩니다. 물론 저는 둘 다 안 해봤기 때문에....

스토리보드는 살짝 써봤지만 구체적으로 어떻게 하는지는 모릅니다. 

다만 확실한 건 SwiftUI가 상당히 쉽습니다.  여태 SwiftUI를 사용하면서 기본강의 자료를 읽어보는데 확실히 별로 어려움이 없었습니다.

안드로이드 스튜디오로 앱 개발할 때에는 XML 파일을 수정하여 UI를 고쳐야 했습니다. 그래서 JAVA를 쓰다가 UI를 고치려고 XML

파일을 켜서 수정하고, JAVA에서 텍스트나 이미지 옵션을 적용하려면 JAVA로 작성해야 합니다. 이래저래 왔다 갔다 해야 하는

불편함이 있고 일관성이 없다고 느껴졌습니다.

SwiftUI는 이러한 부분을 많이 개선해준 느낌을 받았고요. 아직은 Swift에 대해 알아가는 중이기 때문에 조금 더 알아봐야겠지만

지금 당장은 안드로이드 스튜디오보다 직관적이고 쉽다!라고 할 수 있겠습니다.

 

자 이제 본론으로 들어가서 이 강좌는 Swift 5에 대한 강좌입니다.

프로그래밍을 할 때 가장 먼저 배우는 것이 원래 Hello World이지요?

그다음은 변수에 대해 알아봅니다. Swift 5는 두 개를 한꺼번에 가르쳐주네요.

먼저 Xcode를 실행하면 위와 같은 화면이 뜹니다. Get started with a playground를 클릭합니다.

그리고 Blank를 선택하고 Next를 눌러주세요.

실행이 완료되면 위와 같이 딱 세 줄로 된 코드가 보입니다.

좌측 파란색 재생 버튼을 누르면 프로젝트가 빌드되고, 우측에 실행 결과가 표시됩니다.

우선 예제 코드에 대해 알아보겠습니다.

1
2
3
import UIKit
 
var str = "Hello, playground"
cs

 

import UIKit은 UI 관련 프레임워크입니다. SwiftUI에선 이 부분이 import SwiftUI로 대체되지만 저희는 지금

Swift 5에 대한 강좌이기 때문에 UIKit이 들어간 것입니다. UIKit에는 각종 텍스트 필드, 슬라이더, 버튼, 토글 버튼 등 

전반적인 UI에 관련된 프레임워크가 포함되어 있습니다. 이 말이 이해가 안 간다면 그냥 간단하게 C언어에서

#include <stdio.h>를 무의식적으로 입력해주는 것과 같은 것이라고 생각하시면 편하겠습니다.

Swift에선 변수 선언을 var로 선언합니다. 그렇다면 C언어에서 정수형은 int, 실수형은 float, double, 문자형은 char라고 

선언을 했는데 그럼 Swift에선 뭐라고 해야 하나요?라고 질문할 수 있습니다.

Siwft에선 특이하게도 var로 선언된 변수에 대입되는 값에 따라 컴파일러가 유추하여 알아서 판단합니다.

그리고 var로 선언하더라도 자료형을 지정하여 사용할 수도 있습니다.

1
2
3
4
5
import UIKit
 
var str = "Hello, playground"
 
var integer: Int = 100
cs

이렇게 말이죠.

var <변수명>: <type>

type을 지정해주면 나중에 변수를 사용할 때 자료형을 혼동하지 않을 수 있으므로 유용합니다.

자 그럼 변수를 선언했으니 변수의 값을 바꿔봐야겠죠?

1
2
3
4
5
6
7
import UIKit
 
var str = "Hello, playground"
 
var integer: Int = 100
 
str = "Goodbye!"
cs

str에 Goodbye!라고 입력해줬습니다. 

실행을 해보면 str에 입력된 값이 Goodbye!라고 바뀐 것을 알 수 있습니다.

그럼 여기서 질문. str에 문자열이 아닌 정수를, integer에 문자열을 대입하면 어떻게 될까요?

먼저 str에 정수 100을 대입해줬습니다. 결과는 보시다시피 "Cannot assign value of type 'int' to type 'String'이라고 뜹니다.

간단히 해석하자면 Int 값을 String 타입의 변수에 대입할 수 없어 입니다.

아래에 integer 변수에 문자열을 대입했을 때는 반대로 String 값을 int 타입의 변수에 대입할 수 없다고 나옵니다.

마지막으로 상수에 대해 알아보겠습니다.

상수 즉 constant value는 고정된 값, 변경 불가능한 값이라고 보시면 됩니다.

Swift에서 상수는 let으로 선언합니다.

let <변수명>: <type>

let으로 선언할 경우 값을 변경하는 것은 가능하지 않습니다.

따라서 선언과 동시에 초기화하는 것, 선언 후 초기화하는 것을 제외하고는 값을 변경할 수 없습니다.

위와 같이 말이죠. 

이 강의는 hacking with swift를 참고하여 제작하였습니다. 추가된 내용은 제가 그냥 생각해서 적은 내용입니다.

저도 배우면서 하는 입장이니 부족한 점이 많아도 양해 부탁드립니다.

다음 강좌에서는 다른 자료형과 변수에 담긴 내용을 출력하는 방법에 대해 알아보겠습니다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함