본문 바로가기
iOS

iOS를 처음 시작하며 겪는 삽질들

by 붕어사랑 티스토리 2023. 5. 3.
반응형

회사에서 iOS를 대응할 일이 생겼는데 하필이면 레거시 코드이다. 단순히 공식문서 튜토리얼을 읽고 따라하기에는 무리수가 있는 상태.

 

본 내용은 iOS를 진입하며 삽질하는 내용을 다룸

 

 

 

1. 언어는 무엇으로 시작하나

iOS의 경우 현재 스위프트 언어를 사용한다. 허나 과거에는 ObjectC라는 언어를 사용하였다. ObjectC의 경우 C언어에 객체지향을 추가한 언어이다. 기본적으로 C언어와 사용법은 동일하나 클래스의 경우 사용법이 다른언어들과 완전히 다르다. 보통 하나의 언어를 배우면 다른언어는 대충 모양이 비슷해서 쉽게 하는데 ObjectC의 경우 그 갭이 어마어마하다.

 

하기 내용은 직접 정리한 내용인데 한번 읽으면 그래도 코드읽는데는 무리가 없을 것이다.

 

ObjectC 클래스 간단히 배우기

https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithObjects/WorkingwithObjects.html#//apple_ref/doc/uid/TP40011210-CH4-SW2 Working with Objects Working with Objects The majority of work in an Obje

lucky516.tistory.com

 

 

 

 

2. 어디서부터 시작해야 하지?

새로운 기술을 배울때 당연 공식문서 튜토리얼이 최고이다. 고로 먼저 애플 디벨로퍼 사이트에 들어간다.

그리고 디벨로퍼 사이트에 들어가서 Develop항목을 누르면 마주하는 페이지가 아래다...

 

내가 이걸 처음보고 느낀건...

어디서부터 시작해야되지..?

 

도저히 튜토리얼 페이지를 찾을 수 없다...

 

 

 

뭐 일단 정답부터 말하면 Swift를 배우고 싶다면 Swift항목을 누르고, iOS 개발을 배우고 싶다면 SwiftUI를 누르면 된다.

 

둘이 먼차이냐면, Swift는 언어고, SwiftUI는 앱개발에 사용되는 프레임워크라고 생각하면 된다. 어쨋든 두개를 배워야겠지요?

그럼 ObjectC를 이용해 iOS개발하던 프레임워크 이름은? UIKit이다(스위프트도 지원함). 대충 레거시 코드라는것인데 레거시라 하기엔 아직도 많이사용되어서 애매하다 하다.

 

 

SwiftUI는 Flutter와 동일하게 declarative한 프레임워크다. UIKit은 안드로이드와 마찬가지로 imperative한 프레임워크다.

 

SwiftUI에서 대표적으로 사용되는 View:

  • Text
  • Image
  • Button
  • List
  • VStack, HStack, ZStack
  • NavigationView, TabView

UIKit에서 대표적으로 사용되는 UI:

  • UILabel
  • UIImageView
  • UIButton
  • UITableView
  • UIView
  • UIViewController
  • UINavigationController
  • UITabBarController

 

 

 

 

 

 

스위프트 문서를 들어가는 방법은 다음과 같다. 먼저 위 탭 항목에서 스위프트를 누른다

스크롤을 쭉 내리면 아래 처럼 Get started가 있다. 링크를 타고 들어가자

들어가보면 가이드 문서 링크가 있다(가장 왼쪽꺼)

그리고 스크롤을 내리면 SwiftUI 튜토리얼 페이지 링크도 있음

SwiftUI 탭에서도 같은방식으로 접근하면 튜토리얼 페이지들을 확인할 수 있다.

 

 

 

3. 앱의 시작점

@main이라는 Attribute가 붙은 구조체가 시작점이다.

 

ObjectC로 프로젝트를 만들경우 main.m에 아래와 같이 UIApplicationMain으로 진입한다.

반응형

댓글