iOS
-
웹개발자의 iOS 개발기(12) - [SwiftUI] 네이버 음성메모앱 클론코딩iOS 2025. 5. 6. 00:51
01. 개요강의 초반 챕터에서 Swift 문법, 다양한 컴포넌트 예제를 학습했었습니다.이후 챕터부터는 다양한 서비스들을 클론코딩 하는 챕터들입니다.모든 챕터를 듣기에는 시간적 여유가 없어, 네이버 음성메모앱 클론코딩 챕터만 완강하기로 마음먹었습니다.해당 챕터만이라도 완강하는 이유는 이후 나만의 앱을 만들 때 프로젝트 구성, 구조, 개발 방법 등을 전체적으로나마 터득하기 좋을 것 같기 때문입니다.이후 남은 챕터들은 완강은 아니더라도 필요한 내용을 골라가며 들으려고 합니다. 예를 들어 애플리케이션은 CI/CD를 어떻게 구성하는지와 같은.. 02. 내용1. Property Wrappers의 용도를 어느 정도 파악할 수 있게 되었습니다. (추후에 클론코딩이 아닌 직접 코드를 작성하게 되면 좀 더 명확하게 이해할..
-
웹개발자의 iOS 개발기(11) - [UIKit] 네비게이션, 탭바iOS 2025. 1. 27. 17:48
01. NavigationController 알아보기일반적인 Navigation 만들기아래 Navigation Controller를 클릭하면 연결된 Navigation Contrller 화면 하나가 생긴다. 이동후 보여줄 ViewController 하나 더 생성Button 우클릭 드래그 해서 3번째 ViewController에 드랍Show 선택결과 모달 형태 Navigation 만들기ViewController 2개 생성버튼 우클릭 드래그앤드랍, Show 선택결과 여러 화면 이동하기보라색 화면으로 이동하는 화살표 선택 후 Present Modally 선택초록 → 보라 → 노랑 이동할 때 모두 모달로 이동한다.반면 초록 → 인디고 → 노랑 이동할 때는 모두 show로 이동한다. 결과 네비게이션은 show이든..
-
웹개발자의 iOS 개발기(10) - [UIKit] 테이블뷰, TableViewiOS 2025. 1. 26. 23:16
테이블뷰에 대하여 공부해 보았습니다.UIKit은 Delegate 패턴으로 UI요소를 컨트롤하여서 해당 패턴이 익숙해질 때까지 많이 연습이 필요해 보입니다.01. 테이블뷰로 화면 그리기MyTableViewController.swift테이블뷰 그려보기TableView 생성, 그 안에 TableViewCell 생성 Table View Cell 식별자 정의코드 작성import UIKitclass MyTableViewController: UIViewController { @IBOutlet weak var myTableView: UITableView! let cellData = ["Hello TableView!", "Hello Swift!", "Hello UIKit!"] overrid..
-
웹개발자의 iOS 개발기(9) - [UIKit] AutoLayoutiOS 2025. 1. 26. 16:39
AutoLayout에 대하여 공부해 보았습니다. 다양한 디바이스에서 일관성 있는 UI를 유지하기 위해서 AutoLayout은 필수라고 생각됩니다.03. 위치를 잡아주는 오토레이아웃AutoLayout다양한 화면에서 동일하게 나오도록 하는 방법요소를 선택위치값 설정Constraints 추가된 것을 확인View Controller Scene 옆에 빨간색 오류가 뜨는지 잘 확인해야 한다.예를 들어 Slider의 Top Space를 130으로 지정 → 하지만 Slider 위에 있는 Label의 위치값이 지정되지 않아서 문제 발생요소를 우클릭으로 드래그를 해서 다른 요소에 드롭하면, 요소간 간격을 설정이 가능하다. (우클릭해서 다른 요소에 연결 하는게 아닌 바닥에 드랍하면 화면을 기준으로 위치를 설정할 수도 있다...
-
웹개발자의 iOS 개발기(8) - [UIKit] UIKit 입문iOS 2025. 1. 26. 16:19
UIKit에 대하여 공부해 보았습니다.01. Storyboard로 UIKit 입문하기SwiftUI vs UIKit화면을 그리는 방법SwiftUI는 MacOS와 iOS 모두 호환SwiftUI로 만들지 못하는 것들이 있음 → UIKit도 혼용해야 함UIKit은 과거부터 사용되면서 유지보수를 위해서라도 UIKit을 알아야 함.Apple에서도 SwiftUI를 밀고 있기 때문에 언젠간 SwiftUI로 완전 대체 될 것이다.UIKit이 화면을 그리는 방법StoryboardGUI를 사용한 스토리보드CodeSwiftUI처럼 코드만을 사용하는 방법각각의 장단점 존재SwiftUI 프로젝트 생성시 Multiplatform - app이었다면,UIKit 프로젝트 생성 시 iOS - App 선택 Main으로 전체 검색해 보면 ..
-
웹개발자의 iOS 개발기(7) - [SwiftUI] 모달, 네비게이션, 탭뷰iOS 2025. 1. 26. 01:09
모달, 네비게이션, 탭뷰에 대하여 공부해 보았습니다.01. 여러 화면을 이동하기Modalimport SwiftUIstruct _1_Modal: View { @State var showModal: Bool = false var body: some View { VStack { Text("메인 페이지 입니다.1") Button { showModal = true } label: { Text("Modal 화면 전환") } } .sheet(isPresented: $showModal) { _..
-
웹개발자의 iOS 개발기(6) - [SwiftUI] 리스트iOS 2025. 1. 25. 14:16
리스트에 대하여 공부해 보았습니다.01. 리스트와 반복import SwiftUIstruct _1_ListLoop: View { var fruits = ["Apple", "Banana", "Cherry", "Double Kiwi", "Elder berry"] var price = ["1000", "3000", "4000", "2400", "8000"] var count = 0 var body: some View { NavigationStack { List { ForEach(fruits, id: \\.self) { fruit in HStack { ..
-
웹개발자의 iOS 개발기(5) - 예외 처리, 프로토콜, 제네릭iOS 2025. 1. 24. 22:57
예외 처리, 프로토콜, 제네릭에 대하여 공부해 보았습니다.01. 예외처리 - 만약 에러가 발생한다면?import SwiftUIstruct _1_Exception: View { @State var inputNumber = "" @State var resultNumber: Float = 0 var body: some View { VStack { TextField("나눌 숫자를 입력해주세요", text: $inputNumber) Text("나눈 결과는 다음과 같아요 \\(resultNumber)") Button { do { ..