일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 생명주기
- 파스칼표기법
- On branch is up to date with ' '
- 코드스니펫
- Switch
- weekly calendar
- 글또
- class
- 내_삶
- copy-on-write
- 다짐글
- IOS
- Git
- struct
- AnyObject
- 바이트디그리
- uikit
- 회고
- 주간 달력
- SWIFT
- 제어전송문
- unrecognized selector sent to class
- actionSheet
- avaliable
- 연관값
- K디지털기초역량훈련
- MyLife
- ios 개발 강의
- 글또9기
- error해결
- Today
- Total
목록IOS (78)
seong_hye, the developer
보호되어 있는 글입니다.
이번에 기술 면접을 보게 되면서 현재 내가 어떤 점이 부족한지 알게되는 기회가 되었다. 그 중에서 클래스와 구조체가 어떤 차이가 있고 어떨 때 사용되는지에 대한 질문을 해주셨다. 형식적으로 차이에 대해 알고 있었지만 실제로 코드에서 활용시 어떻게 차이가 나는지를 알고 있지 않다는 점을 알게 되었다. https://programming-seonghye.tistory.com/15 Swift) 문법 정리 - 클래스(Class) vs 구조체(Struct) 대부분의 언어에서 말하길 클래스는 프로그래밍의 패러다임이라고 말한다. 패러다임 어떤 한 시대 사람들의 견해나 사고를 지배하고 있는 이론적 틀이나 개념의 집합체 클래스를 도입하면서 programming-seonghye.tistory.com 이 경험을 바탕으로 한..
협업을 진행하다보면 개발자마다 코딩 스타일이 다르고 성향이 다르다는 것을 알 수 있다. 이런 경우 서로의 코드를 이해하는 데에도 많은 시간이 걸리고 후에 유지보수에도 어려움을 느낄 수 있다. 이런 경우 코딩 컨벤션을 정해주면 협업에 큰 도움이 될 수 있다. 코딩 컨벤션이란? 일종의 코딩 스탕일 규약으로 모든 구성원들이 읽고, 관리하기 쉬운 코드를 작성하는 것을 의미한다. 이를 통해 잠재적인 오류를 줄일 수 있고, 가독성이 높아지게 되어 다른 개발자가 작성한 코드를 이해하는 데에 도움을 주어 유지보수에도 도움이 된다. 코딩 컨벤션 가이드 중에는 린터(Linter)가 존재한다. 린터는 스타일 가이드를 따르지 않은 코드를 찾아서 알려주는 도구로 사용하는 언어에 따라 다르다. 이외에도 오류가 발생하거나 알려지지..
캘린더를 사용하는 과정에서 다른 라이브러리를 사용하지 않고 주간 캘린더를 어떻게 구현하면 좋을지 고민하며 공부한 내용을 정리해 보려 합니다. 날짜에 따른 데이터를 받아오는 기능을 만드는 과정에서 FSCalendar 라이브러리를 사용했던 것을 캘린더를 공부해서 직접 만들어보자 하는 생각이 들게 되었습니다. Calendar 날짜별 장식이 있는 일정관리를 표시하고, 단일 날짜 또는 여러 날짜를 사용자가 선택할 수 있도록 제공하는 기능으로 캘린더 뷰를 사용하여 사용자가 커스터마이징한 추가 정보(ex_ 스케줄)가 있는 특정 날짜를 표시할 수 있습니다. 또한 캘린더 뷰를 사용하여 하나의 특정 날짜, 여러 날짜 또는 날짜가 없는 날짜를 선택할 수 있습니다. 단일 선택 주간 달력 뷰를 구현하기 위해 collection..
우선 왜 코드를 나눠서 설계하려고 할까? 여러명이서 하나의 거대한 앱을 만들게 됨(수만줄의 코드) -> 기준이나 룰에 따라 나누지 않으면 보기 힘듦 -> 유지보수가 편해야하기 때문에 코드를 계층으로 분리하려함 아키텍처란? 하나의 서비스가 어떻게 구성이 되며 어떻게 동작이 되는지 즉 서비스의 동작 원리를 나타내는 것 좋은 아키텍처의 특징들 단단하고/안정적, 모듈화 가능(재사용), 확장 용이(향후 확장성) 테스트 가능(UI와 비즈니스 로직에서 강력/안정적), Decoupling (느슨한 결합) 등.. 올바른 아키텍처 선택의 기준 - 유지보수 용이해야 한다. - 명확한 분리 기준: 단일 책임 원칙 - 테스트 가능: TDD(테스트 주도 개발) / 유닛테스트 가능해야 (더 안전한 코드 작성 가능) 완벽한 / 절대..
UIKit 화면을 코드로 만드는 연습을 하던 중 아래와 같은 화면을 만들어 'dice game'이라는 버튼을 누름과 동시에 reason: '+[BasicsApps.ViewController tapDiceGameButton:]: unrecognized selector sent to class 위와 같은 오류가 발생하며 화면이 종료되었다. 나의 코드는 다음과 같았다. private let diceGameButton: UIButton = { let button = UIButton() button.setTitle("DICE GAME", for: .normal) button.setTitleColor(.black, for: .normal) button.layer.masksToBounds = true button.l..
xcode를 git에 연결 후 아무런 생각없이 storyboard 지우고 commit 하려고 하자 다음과 같은 오류가 발생하였다. On branch 브랜치이름 Your branch is up to date with 'origin/브랜치이름'. Changes not staged for commit: (use "git add/rm ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: ../BasicsApps.xcodeproj/project.pbxproj deleted: Base.lproj/Main.storyboard modified: SceneDelegate.s..
보호되어 있는 글입니다.