ios 개발 - 내배캠

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

seoleader 2024. 10. 10. 17:22

2-2. 은행 계좌 관리 시스템 구축

이번 과제에서는 property observer에 대해서 공부가 필요했다. 프로퍼티 옵저버란 프로퍼티 값이 변경되려고 할 때 변경된다고 우리에게 알려주는 것이고 willSet, didSet 이 있다.

willSet 은 값이 저장되기 직전에 새로 저장될 값이 newValue 로 전달된다.

didSet 은 값이 저장된 직후에 이전 프로퍼티의 값이 oldValue 로 전달된다.

해당 과제에서 음수로 값이 들어올 경우 경고 메시지를 출력하라는 미션이 있어서 if문을 써서 나눠야겠다는 생각을 했다. 그런데 if문 안에 willSet을 넣었더니 에러가 났다. 구글링으로는 해결할 수 없어서 챗지피티에게 물어봤더니 프로퍼티 옵저버 안에서 조건을 체크하는 방식으로 구현해야한다고 했다.

 

해설을 보니 잔액이 변하는 것을 차례대로 나타내고 음수가 되는 시점에 조건문을 넣어서 처리한 것을 알 수 있었다. 의도를 생각하니 이런 흐름으로 가는게 맞는거 같긴하다. 주제가 은행 계좌 관리 시스템이었으니까 얼마를 연산해서 남은 금액을 띄우는 방식. 그런데 이 방식을 좀 더 예쁘게 쓰면 좋을거 같은데 너무 곧이곧대로 코딩을 한 거 같지만 더 나은 방법은 모르겠다.

 

과제의 의도를 처음부터 잘 파악하지 못한거 같다. 그냥 텍스트 하나하나 그 자체만 구현하느라 전체적인 숲을 보지 못하고 코드를 적는거 같다. 앞으로는 왜 이 코드를 적는지 목적이 무엇인지 제목을 잘 읽고 의도도 파악해보려 노력해야겠다.