ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • iOS 개발자 지망생의 내가 보려고 만든 블로그
    카테고리 없음 2024. 1. 8. 00:25

    옵셔널(Optional) 처리란!

     

    사실 이 개념을 가장 처음 블로그를 쓰게 된다면 이 문법에 대해서 다루고싶었던 마음이 가장 컸다

    그에 대한 이유는 내가 애기시절 Mac을 썼기에 가장 처음(?) 만났던 문법인 Swiftui 에서 임팩트가 가장 컸었던,,

    그런 녀석이었다. 이유는 일단 생긴거부터 마음에 안들었음 ㅋㅋ 사용하는것도 어려웠다고 느꼈었던 그런 느낌적인 느낌..

     

    그래서 다른분들은 나처럼 삽질하지않도록 잘 이해가 잘되도록 설명하고싶다

     

    바로 본론으로 가보자, 

    일단 옵셔널이란 단어의 사전적정의를 생각해보자 선택적, 이라는 뜻이라고 한다,

    내가 이것도 선택가능하고 저것도 선택가능하고 심지어 없는것을 선택도 가능하다.

    값이 없을수도 있을수도 있다 라는 정의가 맞는것 뿐더러 가장 가까운 이해법이 아닐까라는 생각을 한다

    이런것을 하는이유는 개발자가 안전하게 null값과 상호작용할 수 있게해준다, 그럼 여기서 개발자가 null과 
    제대로 상호작용하지 못했을 때는 어떤일이 벌어질까 내가 경험한거는 그냥 프로젝트가 터져버렸다 즉, 런타임에러나

    내가 의도하지않은 방향으로 흘러가는 답도없는 상황이 나타날 수도 있다. 
    자 이제 위와같은 위험성을 배제하기 위해서 사용한다는 목적을 알았으니 어떻게 사용해야하는지 간단한 문법사용방법을 알아보도록하자

     

    옵셔널 선언은 ?를 사용하여 변수가 옵셔널임을 선언을 먼저해준다 이에대한 예시코드이다

     

    var optionalInt: Int? 


    이런식으로 사용한다 

    밑에 있는 코드는 if let 이나 guard let 을 사용해서 옵셔널에 안전하게 접근이 될때만 코드블럭을 진행하는 예시코드이다,

    사진은 귀찮아서 내가 현재하는 프로젝트 아무곳에나 넣어서 이렇게 되었다,, 이해를 부탁합니다.. 다음부터는 더 잘 쓰겠다.

     

     

    밑 사진에 대한 예제는 좀 위험하긴하지만 강제로 옵셔널에 대한 값을 뽑아오는것이다,, 이건 좀 비추 이유는 만약에 값이 들어있지가않으면 계속 뽑으려고만하는데 아무것도 없으니까 못꺼내서 런타임에러가 남, 되도록 확실히 구분될때만 강제성을 부여하도록하자,

     

     

     

     

    ?.를 사용하여 옵셔널이 nil인지 확인하면서 프로퍼티, 메소드, 서브스크립트에 접근한다.

    예시로다가 optionalInt?. 이런식으로 진행한다 그러면 안에 있는 녀석이 무슨녀석인지 확인하면서 접근한다,

     

     

    또 nill 병합연산자라는게 있는데 옵셔널이 nil 일경우 초기값을 제공해주는 착한 녀석도있다 망가지지 말라는거겠지.

     

    이렇게 어느정도 옵셔널에 대한 문법과 개념들을 다뤄보았다 첫블로그 포스팅이라 말하기가 어려운것도 있지만 

    내 지식을 꺼내놓을수 있다면 확실히 아는것이겠지라는 생각을 하면서 오늘하루도 이겨내본다 .

    swiftui 하시는 iOS개발지망생들 화이팅.!

     

Designed by Tistory.