개발자

사건번호 : 스파르타 - 20240412 사건일시 : 240412 13:30 ~ 15:30 사건의 발단 코어 데이터 사용으로 인해 문제가 발생했다고 의심하기 시작함. 이를 해결하기 위해 가설을 두 가지를 세워봄. 사건의 전개 가설 1. 코어 데이터에 저장할 때 문제가 있다? 코어 데이터에 담는 과정에서 오류가 있었나 확인하기 위해 모든 구역에 print를 찍어보았다. 이로 인해 가설 1은 폐지되었다. 가설 2. 코어 데이터에서 불러올 때 문제가 있다? 코어 데이터에서 가져와서 새로 담긴 배열을 출력해보면 이 사건을 해결할 수 있을 것 같다. 그럼 가설 2번에 무게가 실렸다. 가설 2번을 해결하기 위해 코어 데이터를 불러와서 새로 배열에 담기까지의 과정을 지켜보자. 사건의 위기 사건의 진범을 가려내기 위해..
코드, 데이터, 힙, 스택 영역에 대한 이해 코드 영역 프로그램의 실행 코드가 저장되는 공간 컴파일된 소스 코드와 프로그램의 명령어들이 저장되어있음 읽기 전용 영역이며 프로그램에서 실행되면서 수정되지 않음 데이터 영역 전역 변수, 정적 변수(static), 상수가 저장되는 공간 프로그램 시작 시 할당되며 프로그램 종료 시까지 유지 힙 영역 Heap 영역은 프로그램 실행 중(런타임) 동적으로 할당된 데이터가 저장되는 곳 입니다. 힘은 런타임 중에 메모리 할당이 필요한 경우 사용되며, 개발자가 직접 제어할 수 있습니다. 힙에 저장된 데이터는 직접적으로 포인터를 통해 접근(참조)됩니다. 힙은 스택과 달리 메모리의 자유 공간을 사용하여 데이터를 저장하므로, 크기나 생존 기간에 대한 동적인 요구에 대응할 수 있습..
구현 내용 결제 완료 시 결제되었습니다 얼럿 창 생성 및 장바구니 목록 삭제 및 토탈금액 변동 장바구니 비우기 할 경우 장바구니 목록 삭제 및 토탈금액 변동 장바구니 비어있을 경우 결제하기 버튼 비활성화 장바구니 하나라도 있을 경우 결제하기 버튼 활성화 및 색상 변경 배경 색상 지정 주문 내역 레이블 추가 기타 오토레이아웃 조정 Cell 내부 요소들 오토레이아웃 설정 X버튼 누를 경우 해당 셀 삭제 및 토탈가격 변화 결과
TableViewCell의 중요성 재사용 메커니즘의 중요성 : 재사용을 올바르게 구현하지 않으면 메모리 부족과 성능 저하가 발생할 수 있으므로, 재사용 메커니즘을 이해하고 적절히 구현해야 함. 셀의 재사용 식별자의 중요성 : 셀의 재사용은 식별자를 통해 이루어지며, 고유한 식별자를 사용함으로써 셀의 일관된 재사용을 보장 셀의 생명 주기 이해: 특히 셀이 표시되기 전과 표시된 후에 필요한 초기화 및 정리 작업을 올바르게 처리하는 것이 중요 구조체와 클래스 구조체(struct): 값 타입(value type)으로, 데이터와 메서드를 포함할 수 있는 논리적인 캡슐화 단위. 구조체는 값 복사에 의해 전달됨. 클래스(class): 참조 타입(reference type)으로, 데이터와 메서드를 포함하는 객체. 클래..
시작한 이유 같이 공부하는 지인의 코드를 보고 완료선이 다른 셀에 그어지는 문제를 고쳐주다가 해당 지인이 완료선과 함께 글씨색을 바꾸는 것을 보고 따라서 만들었다. 코드 지인의 코드를 보다보니 나도 별도의 매서드를 만들고 클로저에 대한 값으로 cell에 넘겨주어야하는지 고민을 해보았다. 하지만 생각해보니 나는 updateCompletedLine이라는 함수가 Didset으로 설정이 되어있고 스위치를 누를 때마다 sender로 cell의 내용을 변경해주기에, 그리고 원래 textColor라는 UIColor가 존재하기에 그냥 완료선을 그을 때 같이 설정하면 된다고 생각했다. 그래서 해당 코드가 나왔는데 다시 생각해보니까 이러면 매서드 이름을 좀 바꾸어야겠다. 선만 바꾸는 작업이 아니니까...
학습 목표 Table View 사용에 있어서 익숙해지고 원하는 내용을 마음대로 넣어보자 Storyboard UIImageView를 사용하여 Cell에 담으면 이미지도 넣을 수 있다는 사실을 알았다. 제목과 세부사항에 대해서 넣을거라 label의 구속은 서로 크기가 다르게 잡힌 상태이다. 그리고 사용될 이미지는 Assets에 미리 담아두고 사용할 예정. Movie.swift 제목과 설명은 있지만 이미지가 없을 경우를 고려하여 이미지만 옵셔널로 담았다. MovieCell.swift struct에 담긴 내용과 굉장히 유사하지만 이건 셀에 담길 내용을 위한 Outlet이다. ViewController.swift setup()함수로 빼는 것이 원래 내 스타일인데 오늘은 그냥 안빼고 안에 넣어봤다. 그냥 그러고 싶..
문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21..
문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 사항 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 1차 고민 이건 C언어로도 해봤던 문제라서 방법이 생각날듯말듯 했다. 무조건 스플릿이다. 그리고 기존에 알던 uppercased()와 lowercase..
리마스터 결심 계기 라이브러리를 많이 가져다 쓰고, 튜터님들께 도움을 받아 만든 코드라서 정상적으로 작동하지만 왜 내가 이러한 이유로 코드를 가져다 썼는지, 전체적인 userInput의 흐름이 어떻게 흘러가고 어떻게 처리되어 화면에 나타나는지 감을 전혀 못잡고 있었다. 전형적으로 어쩌다 얻어걸린 코더의 느낌이 나서 이미 정답지는 있으니 다시 처음부터 코딩해야겠다고 생각했다. 기존의 코드는 비교를 위해 그대로 둔 채 새 프로젝트를 생성하여 빌드까지 올리기로 했다. 오늘의 진척 1 기존 코드에서 let todo에 배열의 indexPath.row를 담아서 todo. 으로 편하게 작성하려고 두었던 상수인데 centerLine에 관련된 함수를 추가하면서 let todo의 존재를 망각했었나보다. todo를 사용했다..
sngsp
'개발자' 태그의 글 목록