오늘의 학습
func setTodo(_ setTodo: Todo) {
todo = setTodo
guard let todo else { return }
if todo.isCompleted {
textLabel?.text = nil
textLabel?.attributedText = todo.title.strikeThrough()
} else {
textLabel?.attributedText = nil
textLabel?.text = todo.title
}
}
}
해당 코드는 사용자에게 '추가' 버튼을 눌러 메모를 더하는 기능을 제공했다.
위 코드를 보면서 가장 의아했던 점은 이거였다.
"text에게 왜 nil이라는 값을 주는걸까?"
nil은 '진짜 없음'을 의미하는 점인데, 이게 왜 필요할까? 라는 생각을 상당히 많이했다.
도저히 이해가 안되서 튜터님께 질문을 드리니 의외의 답이 왔다.
코드에선 어떻게 될지 모르는 문제점이 있다.
그렇기에 모든 상황에 대비를 하는게 중요한데,
textLabel.text가 만약에 이전에 입력한 값을 담고 있다면, 사용자에게 불편을 제공할 수 있는 여지가 있다는 점이었다.
따라서 해당 문제점을 해소하고자 textLabel.text에 nil이라는 값을 할당하여 완전히 값을 지운 뒤, 새로운 값을 더할 수 있도록 만든다는 점이었다!!
THIS WAS A MIND-BLOWING IDEA!
이렇게 대비하기 위해 코드를 짰다니! 생각을 하지도 못했을 법한 코드였다.
회고
전반적으로 일요일부터 금일까지 성장이나 진도를 나간 부분이 없다!
이게 가장 아쉬운 부분이다...
정말 간단한 부분임에도 불구하고 스스로 이해하지 못하는 부분이 많다보니 계속해서 붙잡고 있는 기분이다.
챙겨야할 것들도 워낙 많다보니 이런 생각이 드는게 아닐까 싶다.
최대한 내가 할 수 있는만큼, 시간 분배를 잘해보도록 노력하자. 모두 주어진 하루라는 24시간 이내에 해결을 하고 있다!
이틀동안 그래도 다른 팀원들은 쑥쑥 이해하고 뭔가를 뚝딱 만들고 계셔서 많은 힘을 얻고 있는게 사실이다.
다들!! 힘 좀 나눠줘!!