스위프트 입문한 지 얼마 안 됐는데요, 서버에서 받은 문자열 길이를 세려고 했더니 특정 상황에서 앱이 바로 크래시 나면서 이런 로그가 떠요. "Fatal error: Unexpectedly found nil while unwrapping an Optional value" 이런 메시지요.


let text: String? = nil
let n = text!.count  // 여기서 크래시


느낌표(!)를 붙이면 알아서 값을 꺼내주는 걸로 알았는데, nil일 때는 그냥 죽어버리네요. 값이 있을 때도 있고 없을 때도 있는 데이터라 무작정 !를 쓰면 안 되는 것 같긴 한데, 그럼 안전하게 처리하는 방법이 뭔가요? if let 이런 걸 쓰라고 하던데 언제 뭘 써야 하는지가 아직 헷갈려서요. 정리 좀 부탁드려요.