23.08.09 optional 개념정돈 / clouser 살짝이해해보기 / 알고리즘 n의 배수 고르기 / navigationView

2023. 8. 10. 01:08IOS [ Swift ]

⬆️optional

 

우선 Optional이 지정되지않은값을 nil값으로 return 해주는 함수인것은 알고있었다.

근데 형식에대해서 조금 더 공부가 된 부분이 , 

throws 로 던져서 guard문으로 받는다는 개념. 

 

즉 throws 는 " 이거 optional 일 수도 있어 " 라고 던져보는것이고

그 optional 예상 코드를 guard문 안에 넣어준다.

 

 

그리고 아래에 case 문들을 보면 에러코드들을 등록해놓은걸 볼 수 있는데,

개발자들은 항상 저런식으로 에러코드들을 한번 정리를 싹 하고 코드를 짜는게 좋다고한다.

그리고 저 에러코드들은 optional 즉 nil 값이 추출될때 사용하기에도 적절하기때문에 

밀접한 관계가 있다고 볼 수 있다.

 

 

 

 

 

 

⬆️clouser

 

다음은 clouser 이다.

개인적으로 여태까지 배운 swift문법중 제일 이해가 어렵다.

 

간단하게말하자면 긴 코드를 $0 과 같은 형태로 축약이 가능하다는건데,

오늘 이해한 내용을 정~~말 축약해서 설명하자면 

저 () 안의 매개변수들과 -> 로 받아주는 매개변수까지 축약하여 $0 으로 표현가능하다는 느낌이다.

 

즉 타입추론에 저 매개변수 지정을 다 맡겨버리고 우리는 함수구현에 원하는 값만 대입해 준다는 느낌.

 

clouser에 대해서는 더 자세히 다음에 한번 다시 포스팅 해보면서 정리를 한번 더 해야겠다.

 

⬆️알고리즘 n의 배수

그리고 오늘 푼 문제인 n의 배수.

 

 

풀이가 너무 간단하다.

일단 answer로 답변객체를 만들어주는데, numlist 값들이 배열이기때문에

 

Int를 []로 가둬버리고 답도 [] 빈배열로 지정해준다.

 

그리고 numlist안에서 i가 돌때, n을 i로 나눴을때 나머지가 0이면 그 i 값은 n의 배수이기때문에,

 

answer의 빈배열에 하나씩 추가해준다.

그리고 i가 numlist를 다돌면 그 answer값을 리턴해주면 끝.

( 간만에 쉽게풀려서 눈물남 )

 

⬆️navigationView 구현 및 코드

이거는 네비게이션 뷰 에 대해서 조금 개념을 잡았다.

 

네비게이션 뷰를 사용하는법을 깨닫고 어떤역할인지 계속해서 만져보면서 익히게되었다.

이건 나중에 현재 진행중인 To do list를 다 완성하게되면 다시 코드까지 리뷰하는쪽으로 방향을 잡아보겠다.

 

우선 navigationView가 보통의 앱에서 다음 , 뒤로가기 같은 방향제시를 해주는역할이며

 

xcode내의 editor > embed in을 통해 구현 가능하다는것을 알았다.