2024/10 7

[10/31 iOSDev] 계산기 만들기

오늘 드디어 프로그래밍 기초 주차 과제인 계산기 만들기를 시작했다. 구현 과정이 상세하게 적혀있어서 흐름을 어떻게 가져가면 되는지 조금이나마 감을 가질 수 있었다. 첫 번째 궁금한 점은 연산을 수행할 수 있는 클래스를 만들라고 해서 그럼 함수를 class 안에 작성해야 하는지 확신이 안 들었고 두 번째 궁금한 점은 숫자가 몇 개 입력되느냐에 따라 달라질 것 같은데 그걸 어떻게 해결하는지였다.튜터님께 질문을 드렸더니 연산식을 함수로 표현하면 된다는 답변과 지금 예시에 주어진 게 파라미터로 숫자 2개를 입력받는 것이기 때문에 파라미터로 2개만 작성하라고 하셨다.함수 반환형을 Int 로 정하면 무조건 정수형을 반환해야 하고 print 뿐만 아니라 return 도 작성해야 해서 코드가 길어졌다. 또한 연산이 불..

[10/30 iOSDev] Class & Struct

인스턴스 : class, struct, enum에서 실제 생성되어 메모리에 저장되는 값 class는 반드시 init 초기화를 제공해야 함. 단, 모든 프로퍼티에 default 값을 제공하거나 Optional 인 경우 생략 가능struct는 직접 init을 정의하지 않아도 모든 프로퍼티의 초기화를 자동으로 생성해 주는 Memberwise Initializer 기능을 제공함 ClassStructReference TypeValue Type인스턴스를 let 으로 만들어도 내부 프로퍼티 변경 가능불가능(var로 만들어야 함)메서드 내에서 프로퍼티 변경 가능mutating 키워드 사용해서 변경 가능상속 가능상속 불가능메모리에 오랫동안 저장X

[10/28 iOSDev] Swift 기초 강의

오늘 들은 기초 강의 복습 부분 중 recap(1) 문제들에서 작성하지 못했던 한 문제에 대해서 TIL을 쓰려한다.Int 타입을 파라미터로 받고 반환 타입은 없는 함수를 작성하고 guard를 사용해서 파라미터 값이 특정 값보다 작을 때와 클 때 출력되는 값을 다르게 하는 문제였다.함수를 작성하는 것까지는 하였는데 guard에서 print문을 어디에 작성해야 하는지 몰랐고, guard 조건에 해당하는지 체크하고 조건문을 거치고 나와서 print문을 작성해야 원하는 값을 얻을 수 있다는 것을 알게 되었다.guard는 조건이 true일 때는 계속 진행하고 false일 경우에는 else에 있는 것을 실행시킨 후 빠져나오는 개념인데 잘 안 와닿아서 헷갈린다.

[10/24 iOSDev] 팀 소개 앱 - 개인 페이지 만들기

오늘은 팀 소개 앱 만들기 프로젝트에서 나의 개인 페이지를 만드는 작업을 하였다. 스토리보드를 사용해서 이것저것 만져보는 게 목표였는데 아직 다룰 수 있는 기능이 많이 없어서 다양하게 만져보지는 못했다.구글링을 통해 이미지 가져와서 넣는 법, 버튼에 링크 연결해서 해당 페이지로 바로 연결되게 하는 법, 한 번에 stack view 로 묶어서 이동하는 법, 기기 화면 사이즈와 관계없이 일정한 비율의 위치에 기능들을 배치하는 법 등을 찾아보았다.처음에는 숫자로 지정해야하는지 모르고 스토리보드 상에서 예쁘게 위치를 잡아서 배치를 했는데 실행을 하니 한쪽으로 왁 쏠려있어서 관련 정보들을 찾아보니 constraint 를 이용해야 했다.버튼을 클릭했을 때 링크로 바로 연결되게 하려면 button 과 ViewCont..

[10/22 iOSDev] Git, Github

Git : 형상관리 도구 - 소프트웨어 개발 중 변경사항을 관리하기 위한 도구Git 을 쓰는 이유 : 버전 관리, 협업 지원, 브랜치 관리, 변경 이력 추적Github : Git 저장소를 온라인에서 관리할 수 있게 해주는 웹 기반 플랫폼 Local 저장소 : 내 컴퓨터에 저장된 Git 저장소Remote 저장소 : 원격 저장소에 저장된 Git 저장소Local 에서 작업한 변경사항을 사람들과 공유하려면 Remote 저장소에 Push, Pull Request 사용해서 업데이트 해야함Remote 저장소에서 내용을 Local 로 가져오려면 Pull 사용 Git 은 GUI 툴을 사용하는 방법과 커맨드라인(터미널) 을 사용하는 방법이 있음 git init : 새로운 Local 저장소를 생성할 때git clone UR..

스파르타코딩클럽 ios_5기_4조_10/10 TIL

2-2. 은행 계좌 관리 시스템 구축이번 과제에서는 property observer에 대해서 공부가 필요했다. 프로퍼티 옵저버란 프로퍼티 값이 변경되려고 할 때 변경된다고 우리에게 알려주는 것이고 willSet, didSet 이 있다.willSet 은 값이 저장되기 직전에 새로 저장될 값이 newValue 로 전달된다.didSet 은 값이 저장된 직후에 이전 프로퍼티의 값이 oldValue 로 전달된다.해당 과제에서 음수로 값이 들어올 경우 경고 메시지를 출력하라는 미션이 있어서 if문을 써서 나눠야겠다는 생각을 했다. 그런데 if문 안에 willSet을 넣었더니 에러가 났다. 구글링으로는 해결할 수 없어서 챗지피티에게 물어봤더니 프로퍼티 옵저버 안에서 조건을 체크하는 방식으로 구현해야한다고 했다. 해설..

스파르타코딩클럽 ios_5기_4조_10/7 TIL

2-1. 직사각형의 넓이와 둘레 계산하기해당 과제에서 공부해야되는 개념은 연산 프로퍼티였다. 연산 프로퍼티는 다른 저장 프로퍼티의 값을 읽어 연산을 실행하거나, 프로퍼티로 전달받은 값을 다른 프로퍼티에 저장한다. get 연산과 set 연산이 있다.get 연산은 저장 프로퍼티의 값을 연산해서 return 하는 것이기 때문에 return 구문이 항상 존재해야한다.set 연산은 말 그대로 파라미터로 받은 값을 특정 저장 프로퍼티에 어떻게 저장할 것인지를 설정하는 것이다.연산 프로퍼티를 사용하려면 무조건 전역 변수(저장 프로퍼티)가 존재해야한다.만약 get 연산은 필요한데 set 연산은 필요없다면 get만 써도 되고 이럴 경우 get 구문 자체를 생략하고 return 구문만 작성해도 된다. (set 연산만 쓰는..