iOS/TIL (Today I Learned)

사건번호 : 스파르타 - 20240412 사건일시 : 240412 13:30 ~ 15:30 사건의 발단 코어 데이터 사용으로 인해 문제가 발생했다고 의심하기 시작함. 이를 해결하기 위해 가설을 두 가지를 세워봄. 사건의 전개 가설 1. 코어 데이터에 저장할 때 문제가 있다? 코어 데이터에 담는 과정에서 오류가 있었나 확인하기 위해 모든 구역에 print를 찍어보았다. 이로 인해 가설 1은 폐지되었다. 가설 2. 코어 데이터에서 불러올 때 문제가 있다? 코어 데이터에서 가져와서 새로 담긴 배열을 출력해보면 이 사건을 해결할 수 있을 것 같다. 그럼 가설 2번에 무게가 실렸다. 가설 2번을 해결하기 위해 코어 데이터를 불러와서 새로 배열에 담기까지의 과정을 지켜보자. 사건의 위기 사건의 진범을 가려내기 위해..
코드, 데이터, 힙, 스택 영역에 대한 이해 코드 영역 프로그램의 실행 코드가 저장되는 공간 컴파일된 소스 코드와 프로그램의 명령어들이 저장되어있음 읽기 전용 영역이며 프로그램에서 실행되면서 수정되지 않음 데이터 영역 전역 변수, 정적 변수(static), 상수가 저장되는 공간 프로그램 시작 시 할당되며 프로그램 종료 시까지 유지 힙 영역 Heap 영역은 프로그램 실행 중(런타임) 동적으로 할당된 데이터가 저장되는 곳 입니다. 힘은 런타임 중에 메모리 할당이 필요한 경우 사용되며, 개발자가 직접 제어할 수 있습니다. 힙에 저장된 데이터는 직접적으로 포인터를 통해 접근(참조)됩니다. 힙은 스택과 달리 메모리의 자유 공간을 사용하여 데이터를 저장하므로, 크기나 생존 기간에 대한 동적인 요구에 대응할 수 있습..
구현 내용 결제 완료 시 결제되었습니다 얼럿 창 생성 및 장바구니 목록 삭제 및 토탈금액 변동 장바구니 비우기 할 경우 장바구니 목록 삭제 및 토탈금액 변동 장바구니 비어있을 경우 결제하기 버튼 비활성화 장바구니 하나라도 있을 경우 결제하기 버튼 활성화 및 색상 변경 배경 색상 지정 주문 내역 레이블 추가 기타 오토레이아웃 조정 Cell 내부 요소들 오토레이아웃 설정 X버튼 누를 경우 해당 셀 삭제 및 토탈가격 변화 결과
오늘의 작업 내일 할 일 오토레이아웃 다 잡기 결제하기 버튼 on off 상태 점검 배경에 사진넣기 구매목록(?) 위에 이름달기
과제로 키오스크 제작을 하게 되었다. 그러다 깔끔하고 의견이 모이는 것으로 지정하여 오늘은 상의하느라 하루가 다 간 것 같다. 내일부터는 열심히 만들어보자 화이팅
TableViewCell의 중요성 재사용 메커니즘의 중요성 : 재사용을 올바르게 구현하지 않으면 메모리 부족과 성능 저하가 발생할 수 있으므로, 재사용 메커니즘을 이해하고 적절히 구현해야 함. 셀의 재사용 식별자의 중요성 : 셀의 재사용은 식별자를 통해 이루어지며, 고유한 식별자를 사용함으로써 셀의 일관된 재사용을 보장 셀의 생명 주기 이해: 특히 셀이 표시되기 전과 표시된 후에 필요한 초기화 및 정리 작업을 올바르게 처리하는 것이 중요 구조체와 클래스 구조체(struct): 값 타입(value type)으로, 데이터와 메서드를 포함할 수 있는 논리적인 캡슐화 단위. 구조체는 값 복사에 의해 전달됨. 클래스(class): 참조 타입(reference type)으로, 데이터와 메서드를 포함하는 객체. 클래..
학습 목표 스탠다드 반에서 진행한 Auto Layout을 똑같이 따라서 만들어보자. 최종 목표 기초 일단 기본적인 스토리보드상 구조는 이러하다. 이제 구성을 보자. 뷰 안에 스택뷰를 넣었다. 이 때 스택뷰도 오토레이아웃을 당연히 잡아야하는데 view의 크기와 동일. 이미지를 1:1 비율로 설정하는 방법 스택 뷰를 동일한 사이즈로 채우는 방법 부모 스택뷰의 크기를 내부 구성 버튼이 정하게 하는 방법 비율이 다르게 버튼 설정하기 오늘의 마무리 이미지가 없어서 완성은 못했지만 기본적인 매커니즘의 이해에 중점을 둔 공부였으니 만족한다.
map 시퀀스의 요소에 주어진 클로저를 매핑한 결과가 담긴 배열을 반환 compactMap 시퀀스의 각 요소에 변형을 준 뒤, nil이 아닌 결과가 담긴 배열을 반환 둘의 차이점은? "compactMap은 nil이 아닌 값들만 선택적으로 반환한다" 예시 let test: [String] = ["1", "/2/", "three", "5", "1s"] 해당 배열에서 Int로 변형할 수 있는 요소들만 가져오려고 할 때, Int값의 리턴 타입은 Int? 이다. 옵셔널인지 확인해보자. let stringOfInt = "456" print(Int(stringOfInt)) // Optional(456) let stringOfDouble = "0.01" print(Int(stringOfDouble)) // nil 이제..
시작한 이유 같이 공부하는 지인의 코드를 보고 완료선이 다른 셀에 그어지는 문제를 고쳐주다가 해당 지인이 완료선과 함께 글씨색을 바꾸는 것을 보고 따라서 만들었다. 코드 지인의 코드를 보다보니 나도 별도의 매서드를 만들고 클로저에 대한 값으로 cell에 넘겨주어야하는지 고민을 해보았다. 하지만 생각해보니 나는 updateCompletedLine이라는 함수가 Didset으로 설정이 되어있고 스위치를 누를 때마다 sender로 cell의 내용을 변경해주기에, 그리고 원래 textColor라는 UIColor가 존재하기에 그냥 완료선을 그을 때 같이 설정하면 된다고 생각했다. 그래서 해당 코드가 나왔는데 다시 생각해보니까 이러면 매서드 이름을 좀 바꾸어야겠다. 선만 바꾸는 작업이 아니니까...
sngsp
'iOS/TIL (Today I Learned)' 카테고리의 글 목록