분류 전체보기
-
클래스와 구조체의 인스턴스 그리고 초기화iOS 앱 개발 부트캠프/TIL 2024. 11. 1. 23:47
Swift의 인스턴스와 초기화(init)Swift에서 클래스(Class), 구조체(Struct), 열거형(Enum)은 설계도의 역할을 한다. 이 설계도를 통해 실제 메모리에 만들어지는 실체가 바로 인스턴스이다.1. 인스턴스의 생성과 초기화(init)인스턴스를 생성할 때는 상태(프로퍼티)를 초기화해야 하며, 이를 위해 init 키워드를 사용한다. 모든 프로퍼티에 값을 설정하지 않으면 오류가 발생하지만, 기본값이나 Optional로 선언된 프로퍼티는 초기화 생략이 가능하다.2. 클래스와 초기화클래스는 프로퍼티와 메소드로 구성되며, 클래스는 다음과 같은 특징을 가진다: • 지정 초기화(init): 모든 프로퍼티에 대해 초기값을 설정하는 일반적인 초기화 방법class Person { var name: Strin..
-
추상화 된 프로토콜 만들기iOS 앱 개발 부트캠프/TIL 2024. 10. 31. 21:04
이번주 내내 하던 계산기 과제의 Lv4에서는 추상화 개념을 사용해 AbstractOperation 이라는 추상화된 프로토콜을 만들어 기존의 클래스들과 관계를 맺고 Calculator 클래스 내부 코드를 변경하는 작업을 해야한다.추상화??추상화란 무엇일까? 추상화란 복잡한 시스템을 간단한 개념으로 변환하는 것을 말하며 관련성이 없는 세부 사항을 제거하고 중요한 특성만을 강조하는 것이다. 일종의 청사진을 만드는 것으로, 프로토콜에서 특정 기능을 수행하는 로직을 정의하고, 어떻게 수행할지는 하위 클래스들에게 맡기는 것이다.따라서 추상화 된 프로토콜을 만들라고 하는 것은 AbstractOperation 프로토콜에서 함수나 변수, 매개변수 등을 정의하고, 자세한 구현은 관계를 맺을 더하기, 빼기, 곱하기, 나누기..
-
자동완성 없이 코딩하기iOS 앱 개발 부트캠프/TIL 2024. 10. 30. 23:42
이번주 들어 계속 계산기 로직 만들기를 하고 있었다. 그러다 문득 든 생각이 '이거 정말 내가 쓴 코드 맞나?' 였다.xcode도 swift도 접한지 한 달 반 정도 되었는데 처음 접할때부터 이미 xcode에 ai 자동 완성 기능이 들어있었다.배운 개념을 간단하게 실습해보는 수준일 땐 어렵지는 않은데 문법이 익숙치 않다 싶을 때마다 ai가 자동으로 완성해줘서 편하다고만 생각했었다.그런데 개념만 배우는게 아니라 배운 걸 활용해서 간단한 것이라도 무언가 만들어 보려고 하니까, 내가 생각해서 코드를 쓰기 전에 알아서 완성해버리니 실력이 느는건지 알 수 없다고 느껴지기 시작했다. 간단한 코드도 자동완성 없이 내가 진짜 할 수 있나 싶었다.그래서 이번주에 하던 계산기 로직을 ai 자동완성을 끄고 처음부터 다시 ..
-
swift 문법 기초 챕터1 RecapiOS 앱 개발 부트캠프/TIL 2024. 10. 29. 20:29
1. 기본 데이터 타입 기본 데이터 타입 질문 Q. 기본 데이터 타입 Int 에 대해서 설명해주세요 A. 정수를 저장하는 데이터 타입 기본 데이터 타입 질문let testValue = 15 Q. 위의 testValue는 어떤 데이터 타입일까요? A: Int 기본 데이터 타입 질문 Q. Float 과 Double은 모두 소수점을 저장할수 있는 데이터 타입이다. OX로 답변해주세요 A : O 기본 데이터 타입 질문 Q. Bool 데이터에 대해서 설명해주세요. A: 참/거짓을 저장하는 데이터 타입 기본 데이터 타입 질문 Q. 문자열을 저장할 수 있는 데이터타입의 이름은 무엇이었죠!? A. String 기본 데이터 타입 질문 아래의 _____에는 어떤 데이터타입이 들어가면 좋을까요? let price: ..
-
간단한 계산 로직 만들기iOS 앱 개발 부트캠프/TIL 2024. 10. 28. 22:10
오늘의 도전 과제오늘은 강의를 듣고 간단한 계산 로직을 만드는 과제에 도전하였다. Lv.1 ~ Lv.4까지 있었고 차근차근 도전해보았다.1. 더하기, 빼기, 나누기, 곱하기 연산을 수행하는 Calculator 클래스 만들기class Calculate를 만들어 그 안에 사칙연산 로직을 만들고 let calculator = Calculator() 형태로 인스턴스를 생성해 Calculator의 기능을 호출하는 것이다.Lv.1 과제인 사칙 연산 로직은 위와 같이 func add( return a+b ) 형태에서 연산자만 바꿔 어렵지 않게 작성하였고, Lv.2 과제인 나머지 연산을 추가하려는데 에러가 났다.찾아보니 지금까지 쓰던 나머지 연산인 % 연산이 Int 타입의 숫자들을 나머지 연산할 때 사용하던 것이고, ..
-
미니 프로젝트 마무리 KPTiOS 앱 개발 부트캠프/TIL 2024. 10. 25. 20:36
1. 한 주의 흐름1. 한 일프로젝트 명: 자기소개 앱 ‘ㅎ2’필수 작업: 페이지네이션 기능, Present 기능추가 작업: Web 연결2. 느낀점박채현 : 캠프의 시작부터 팀프로젝트를 진행하니 개발보다 다른 것에 대한 부담이 더 컸다. 잘 견뎌낸 것 같고, 협업시 필요한 점을 많은 것을 배우게 된 시간이었다.박시연 : 팀해체가 아쉽다!! 팀프로젝트를 통해서 서로 각자의 강점을 통해 도움을 주고 받는 협업의 중요성을 배웠습니다. 시간이 부족하고 체력 관리를 못하고 개인 일정으로 중간중간 흐름을 끊게 되어 그런 부분에 미안함을 많이 느꼈습니다.황도일 : 좋은 팀원들을 만나 함께 팀플레이어로서 성장하는 귀중한 시간이었습니다. 서로에 대해 배우며, 서로가 도움을 주고 받는 과정이 유대감과 팀워크로 맺어지는 과..
-
팀프로젝트 테이블 뷰 작업 마무리iOS 앱 개발 부트캠프/TIL 2024. 10. 24. 22:08
테이블 뷰 작업 마무리오늘은 어제 구현한 테이블 뷰의 마지막 작업을 했다. Assets에 이미지 파일을 넣고, 이미지 뷰에 출력하기만 하면 나머지는 팀원들과 상의해서 오브젝트의 배치만 조절하면 내가 할 일은 거의 마무리 되는 단계였다.assets에 이미지 파일 넣기팀원들에게 공유받은 팀과 팀원들의 이미지 파일을 에셋에 추가하였다. 이제 팀명을 저장한 배열의 요소들을 에셋 파일의 이름과 맞춘뒤 UIImage로 불러와 이미지를 띄울 것이다.이미지가 원형 모양으로 들어가야 해서 layer.cornerRadius 코드를 추가하였고, 이미지가 들어갈 자리가 배경색과 같아서 크기와 위치를 확인할 수 있도록 임시로 border도 추가하였다.이후 배경색을 팀원별로 지정한 색깔로 추가하자는 아이디어가 새로 나와서 배경색..
-
팀프로젝트 테이블 뷰 구현하기iOS 앱 개발 부트캠프/TIL 2024. 10. 23. 23:41
오늘은 팀 프로젝트에서 내가 맡은 부분인 테이블 뷰 구현을 시작하였다.이렇게 생긴 화면을 구현하는 것이 목표이다. 물론 내가 할 것은 테이블 뷰이므로 탭 메뉴 아래 부분만 구현 하면 되고 나머지 부분은 다른 팀원이 구현한 화면에 내가 구현한 테이블뷰가 들어가는 형태이다.처음엔 간단하게 테이블 뷰 안에 테이블 셀을 넣고, 테이블 셀 안에 이미지뷰와 텍스트필드를 넣은 뒤 화면이 출력 되는지부터 보고자 했다.cmd + shift + L을 써서 해당 오브젝트드를 스토리보드에 드래그앤 드롭하여 추가하였고 IBOutlet으로 연결하였다. 그리고 테이블뷰에 필요한 delegate와 datasource 설정도 해준 뒤, 임시로 출력해볼 값들을 간단하게 변수로 선언을 하였다.goal 변수는 텍스트 필드에 띄울 값이고 g..