전체 글 89

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..

iOS) TIL #14 야구게임 만들기 - Lv2

Lv 1 (TIL#13 참고)https://yjuni22.tistory.com/34 iOS) TIL #13 야구게임 만들기 - 1야구게임 이란?숫자 야구 게임은 두 명이 즐길 수 있는 추리 게임으로, 상대방이 설정한 3자리의 숫자를 맞히는 것이 목표입니다. 각 자리의 숫자와 위치가 모두 맞으면 '스트라이크', 숫자만 맞yjuni22.tistory.com Lv 1 에서 1~9의 숫자 중 중복되지 않는 랜덤 3개를 뽑는 함수를 구현했다.Lv 2 정답을 맞추기 위해 3자리수를 입력하고 힌트를 받습니다힌트는 야구용어인 볼과 스트라이크입니다.같은 자리에 같은 숫자가 있는 경우 스트라이크, 다른 자리에 숫자가 있는 경우 볼입니다ex) 정답 : 456 인 경우435를 입력한 경우 → 1스트라이크 1볼357를 입력한 ..

iOS) TIL #13 야구게임 만들기 - Lv 1

야구게임 이란?숫자 야구 게임은 두 명이 즐길 수 있는 추리 게임으로, 상대방이 설정한 3자리의 숫자를 맞히는 것이 목표입니다. 각 자리의 숫자와 위치가 모두 맞으면 '스트라이크', 숫자만 맞고 위치가 다르면 '볼'로 판정됩니다. 예를 들어, 상대방의 숫자가 123일 때 132를 추리하면 1스트라이크 2볼이 됩니다. 이러한 힌트를 활용하여 상대방의 숫자를 추리해 나가는 게임입니다. ex)숫자를 입력하세요4351스트라이크 1볼 숫자를 입력하세요3571스트라이크 https://github.com/bryjna07/BaseballGame GitHub - bryjna07/BaseballGameContribute to bryjna07/BaseballGame development by creating an accou..

iOS) TIL #12 (TIL #9 관련) 계산기 코드 구현하기 - 피드백 및 수정

완성도 피드백클래스를 만들고 사용하기까지 구현을 잘하셨습니다. 코드가 간결하고 알기 쉽게 작성된점이 좋았습니다. 그렇게 복잡한 요구사항은 없기 때문에 이렇게 간결하게 작성해도 괜찮고 오히려 좋습니다. 복사붙여넣기의 과정 때문인지 몰라도 연산자 클래스의 calculate 함수에 opp 파라미터를 넣었는데 계산기 클래스에선 switch문으로 분기를 했지만 연산자 클래스에서는 필요가 없습니다. 각 연산자 클래스를 만들었으면 계산기 클래스에서의 계산해주는 함수는 없거나 수정되어도 좋았을거라고 생각됩니다. 각 에러처리시 print문 사용보다는 에러타입을 만들고 do-try-catch 문을 사용해서 처리하는 방법에 대해서 알아보시면 나중에 많은 도움이 될거라고 생각됩니다! 이해도 피드백TIL을 꼼꼼하게 작성해주신 ..

iOS) TIL #11 프로토콜(Protocol)

프로토콜이란?class, struct, enum 에서 공통으로 구현해야 하는 메소드와 프로퍼티의 청사진을 정의하는 기능입니다. 프로토콜 자체는 기능을 구현하지 않으며, 오직 설계만 제공합니다.class, struct, enum 에서 프로토콜을 채택할 수 있으며, 프로토콜에서 정의한 프로퍼티와 메소드를 모두 구현해야 합니다.프로토콜을 채택하는 방법은 타입의 이름 뒤에 : 콜론을 넣은 후 프로토콜 이름을 작성하면 됩니다.프로토콜은 여러 개를 채택 할 수 있으며, 프로토콜 이름을 , 로 구분합니다.프로토콜에서 정의된 프로퍼티는 항상 var 로 선언되어야 합니다.프로토콜에서 정의하는 프로퍼티는 읽기 전용 { get } 또는 읽기-쓰기 가능 { get set } 으로 설정할 수 있습니다.최소한의 요구사항을 지정{..

iOS) TIL #10 확장 (extension)

확장 extension기존의 class, struct, enum, protocol 타입에 새로운 기능을 추가할 수 있는 키워드입니다.타입의 원본 코드를 수정하지 않고도 수평적인 기능을 확장 할 수 있어 코드의 유지 보수와 가독성이 향상됩니다. extension 키워드를 사용하여 기존 타입을 확장할 수 있습니다.하나 이상의 프로토콜을 extension으로 추가해 적용할 수 있습니다. 이를 통해 기존 타입을 수정하지 않고 프로토콜 요구사항을 구현할 수 있어 코드 유지보수가 편리해집니다.하나의 타입에 extension 여러 번 가능합니다.확장할 수 있는 것들은 아래와 같습니다.연산 프로퍼티확장된 곳에서 저장 프로퍼티는 사용할 수 없습니다.메소드새로운 초기화 init (클래스의 경우 편의생성자 convenien..

iOS) TIL #9 2주차 과제 - 계산기 코드 구현하기

https://teamsparta.notion.site/Ch-1-1292dc3ef514805fad4be1b113588fa7- 프로그래밍 기초 주차 과제 - Swfit로 계산기 만들기 필수 구현 기능 Lv1 ~ 3.더하기, 빼기, 나누기, 곱하기 연산을 수행할 수 있는 Calculator 클래스를 만들기생성한 클래스를 이용하여 연산을 진행하고 출력하기오류가 날 수 있는 '예외처리' 상황에 대해 고민해보기Lv1에서 만든 Calculator 클래스에 “나머지 연산”이 가능하도록 코드를 추가하고, 연산 진행 후 출력오류가 날 수 있는 '예외처리' 상황 고민해보기 + 구현해보기 아래 각각의 클래스들을 만들고 클래스간의 관계를 고려하여 Calculator 클래스와 관계 맺기- AddOperation(더하기)- Su..