내일배움캠프 iOS 64

iOS) TIL #26 팀 프로젝트 키오스크 UI - S.A 작성

팀 프로젝트 시작 전 S.A 대시보드에 맞게 팀원들과 회의 https://teamsparta.notion.site/00-1482dc3ef51480dcae56d37c5dd15bf2 00조 프로젝트 대시보드 | Notion0. 팀 소개teamsparta.notion.site 아이디어 브레인 스토밍 우리팀의 주제에 대한 아이디어 회의 진행키오스크에 맞게 어떤 상품을 판매하고 싶은지에 대해 회의겨울철 길거리 음식붕어빵 및 다양한 간식을 넣기로 결정 피그마를 통한 와이어 프레임 작성 기본적인 툴 및 필수 구현사항이 정해져 있었기에주제와 맞는 와이어 프레임 회의 진행. 필수 구현사항 체크메인 페이지상단 메뉴 카테고리 바메뉴 화면주문 내역 화면취소하기 / 결제하기 버튼 화면협업 약속 정하기깃 및 코딩 컨벤션 정하기브..

iOS) TIL #24 문자열 String

https://developer.apple.com/documentation/swift/string String | Apple Developer DocumentationA Unicode string value that is a collection of characters.developer.apple.com 알고리즘을 풀다가 매번 혼자 풀지 못하고 검색의 도움을 받기 싫어서 검색한 것들을 정리해보려고 한다. 문자열 “Swift” ↔ [ “S”, “w”, “ i ”, “ f ” , “ t ” ] 배열 (쉽게 변형 가능) var someString = "Swift"// 문자열을 문자열(String) 배열화 하기 var array: [String] = someString.map { String($0) } [ “S..

iOS) TIL #23 오토레이아웃 특강

AutoLayout(오토레이아웃)은 무엇인가 ?https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/index.html#//apple_ref/doc/uid/TP40010853-CH7-SW1 Auto Layout Guide: Understanding Auto Layout developer.apple.com Auto Layout은 iOS 앱에서 UI 요소(뷰)의 크기와 위치를 동적으로 정의하는 레이아웃 시스템입니다.화면 크기, 방향, 디바이스 종류(예: iPhone, iPad), 텍스트 길이, 콘텐츠 크기에 따라 뷰의 배치와 크기를 자동으로 조정Auto Layout은 제약 조건(Constr..

iOS) TIL #22 ARC ( Automatic Reference Counting)

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/automaticreferencecounting/ Documentation docs.swift.org ARC란Reference Type ( 클래스, 클로저 ) 의 인스턴스 메모리 관리를 자동으로 해주는 기능Value Type의 인스턴스는 ARC가 관리하지 않습니다.메모리 관리를 직접 하지 않아도 ARC가 자동으로 메모리 관리를 처리합니다.인스턴스가 더이상 필요하지 않을 때 메모리에서 자동으로 해제됩니다.Reference Type의 인스턴스를 참조할 때, 참조카운트가 증가하며, 이를 strong 참조라고 합니다.(default)참조카운트의 증가를 원하지 않는 경우 w..

iOS) TIL #21 계산기 앱 만들기 Lv 3~5 / 해설영상 6~8 추가

https://yjuni22.tistory.com/40 iOS) TIL #19 계산기 앱 만들기 - Lv 1, Lv 2스토리보드로 구현하는 방법은 다른 기초 앱을 몇번 만들어봤기 때문에계산기 앱을 구현하는 것도 할만 하다는 느낌이 들어서아직 해보지 않은 코드베이스로 구현을 도전해보려고 한다. Lv1 :yjuni22.tistory.com  https://yjuni22.tistory.com/41 iOS) TIL #20 계산기 앱 만들기 Lv 2 UIView 와 UIButtonLv 2 과제 내 힌트힌트: func makeHorizontalStackView(_ views: [UIView]) → UIStackView 와 같은 형태로 horizontalStackView 를 생성하는 메서드를 정의해두면 좋습니다. 똑..

iOS) TIL #19 계산기 앱 만들기 - Lv 1, Lv 2

스토리보드로 구현하는 방법은 다른 기초 앱을 몇번 만들어봤기 때문에계산기 앱을 구현하는 것도 할만 하다는 느낌이 들어서아직 해보지 않은 코드베이스로 구현을 도전해보려고 한다. Lv1 : 속성 규약에 맞게 "12345" viewController에 구현하기 Lv 1 은 강의를 보면 쉽게 따라할 수 있었다.배경색을 넣고주어진 속성 규약에 맞게 configureUI 메서드 안에 레이블의 특성을 넣고스냅킷을 활용한 addSubview 코드 구현, 오토레이아웃 구현  Lv 2 UIStackView 생성하기 스토리보드로는 버튼을 여러개 두고 스택으로 묶으면 된다.그리고 오토레이아웃 설정.코드베이스로는 모른다.강의에서는 나오지 않는다. 이젠 서칭을 하며 찾아보아야 한다. 개발자에게 가장 좋은 서칭방법스택오버플로우 ..

iOS) TIL #18 클로저 조금, 고차함수 (map, filter, reduce)

클로저  Closure 이름이 없는 익명 함수함수는 "1급 객체"로 취급 - 프로토콜도 마찬가지- 변수에 할당가능, 함수호출 시 파라미터로 전달 가능, 함수에서 함수를 반환 가능 // 기존 함수의 형태func add(a: Int, b: Int) -> Int { let result = a + b return result}// 클로저 형태 (이름을 없애고 필요없는 것들을 생략함){ (a, b) in let result = a + b return result}콜백함수 Callback Funtion다른 함수의 인수(argument) 로 사용되는 함수어떤 이벤트 후 호출되어지는 함수 다른 함수의 인풋으로 쓰여서 나중에 출력이 된다.func doSomething(callback: () -> (..

iOS) TIL #17 내배캠 앱 개발 입문 2 - 스냅킷

UI / UXUI : User Interface유저와 앱이 상호작용 할 수 있는 매개체앱을 구성하는 모든 시각적인 요소 UX : User eXpreience유저 경험 편한것 -> UX가 더 좋다UIKit- 애플이 지원하는 ui를 그리는 데 도움이 되는 프레임 워크FrameWork 작업을 하는데 제공하는 틀 UIKit 구성요소버튼, 라벨, 이미지뷰, 스크롤뷰 등등UIkit vs SwiftUI프로그래밍 방식이 다름명령형 vs 선언형 (함수형 프로그래밍)명령적 프로그래밍: UI의 상태를 명령으로 정의하고, 변화에 따른 업데이트를 직접 처리.선언적 프로그래밍: UI의 상태에 대해 선언하고, 상태가 변경되면 자동으로 UI를 업데이트.산을 걸어서 올라가는 방법 vs 헬리콥터를 타고 정상에서 내리는 방법 (함수형, ..

iOS) TIL #16 내배캠 앱 개발 입문

내일배움캠프 4주차를 진입하며새로운 강의를 지급받았다.앱 개발 입문 강의나에게 딱 필요한 강의이다. 1-1 iOS 개요1-2 Xcode 시작1-3 Xcode 빌드 아주 기초적인 부분을 모아모아 꼼꼼하게 알려주는 강의기에잘 몰랐던, 궁금했던 메모해두고 싶은 부분을 정리해 보겠다. 1-1 iOS 개요a) iOS 개발에 대한 기본적인 이해- HIG ( Human Interface Guidelines ) :  애플의 앱 디자인 가이드 , 애플만의 철학 이해 필요- 앱 출시할 때 심사과정에 있어서 필요한 부분이다. b) 서버 개발, 안드로이드 개발과의 비교- 로그인 기능을 구현한다고 할 때, 서버는 데이터에 대한 정보를 관리하고- iOS 개발자는 스위프트에 맞는 환경과 코드로 로그인 페이지를 구현- 안드로이드 개..

iOS) TIL #15 야구게임 보완, 고차함수 map

해설강의가 나와 시청 후보완 및 공부해야할 것들을 정리해 보았다. 1안에서 생각했던 내용= 하드코딩 이라고 한다고 함. [1, 2, 3, 4, 5, 6, 7, 8, 9]  배열을 직접 만들어서 진행하는 것 레인지(Range,범위) 메서드를 이용하는 방법var arr: [Int] = []for number in (1...9) { // 반복문을 통해 1~9 하나씩 넣음 arr.append(number) //append 배열에 삽입하는 메서드 }예시 코드와 비교고차함수 / map고차함수란?함수를 파라미터로 사용학나 함수로 리턴하는 함수 기본 고차함수 1) map2) filter3) reduce4~6) foreEach, compactMap, flatMap  map let numbers = [1, 2..