인프런 커뮤니티 질문&답변

보채지마오님의 프로필 이미지
보채지마오

작성한 질문수

iOS12 앱 개발 퍼펙트 가이드

7_Optional_2

optional 변수 질문 있습니다.

작성

·

255

1

var name: String?

var nick: String!

옵셔널를 ?, ! 둘다 쓰더라고요.

!: 강제 언랩핑 기호로 알고 있었는데...

변수선언에서 ?, ! 이 둘의 차이점은 뭘까요?

답변 2

2

iOS Developer - 이정님의 프로필 이미지
iOS Developer - 이정
지식공유자

안녕하세요.

이런건 보통 개발상황에 따라 맞추는 개념이라고 생각하면 될 것 같습니다.

옵셔널 변수를 만들었는데 nil일 경우에 대한 처리를 미리 해놓았거나 nil이 안되는 로직일 경우 아니면 nil일땐 실행안되는 로직으로 구성되었다면 당연히 미리 언래핑 해놓는게 쓰기 편하겠죠

그럴땐 강제 언래핑을 하는 경우가 많이 있습니다.

이런걸 고려해서 쓰면 되지만 강제 언래핑은 조심히 써야 합니다.

실수 한번이 크래쉬로 이어지거든요

0

답변주셔서 감사합니다. ^^

보채지마오님의 프로필 이미지
보채지마오

작성한 질문수

질문하기