YagSill

IOS 메소드 본문

Swift - IOS 앱 개발

IOS 메소드

YagSill 2021. 8. 25. 23:24
728x90

안녕하세요 Yag Sill 입니다.

 

아 그 전에 제 닉네임이 왜 YagSill 이냐면요. 예전에 제가 군대에서 사격할 때 억울하게 혼난적이 있었는데요;;

무슨 상황이었냐면 사격할 때 "약실"확인 이라는 작업을 사격 전에 합니다. 근데 그 때 멍때리다가(병장이었음;) 안하고 있었는데... 물론 해야 했던 상황이긴 하지만요..

어쨋든 멍때리다가 약실확인 단계에서 못했어요 근데 그 때 뒤에 서 계시던 짬킹 상사가 저를 발견하고는 오자마자 욕부터 갈기시더군요;

그래서 군대에서 욕먹었던 Best 10 안에 드는 순간이라 배틀그라운드 닉네임 정할 때 갑자기 그 때 생각이 나더군요. 그래서 배그 닉네임을 YagSill로 만들고 난 후에 모든 닉네임을 YagSill로 하고있습니다 ㅋㅋ;

 

어쨋든 오늘은 Method에 대해서 배워보았는디요!

 

Method를 쓰는 방법이 여러가지가 있는디 우째 쓰는지 함 보겠습니다.

일단 struct를 만들었어요. 뭐 title : 강의이름 / maxStudent : 최대 학생 가입 수 / numOfRegistered : 현재 강의 가입 수

이렇게 만들어 놨습니다.

이제 여기서 저는 메소드를 만들거에요 물론 struct 안에서 말이죠? 왜냐면 Method는 function 과 다르게 무적권 stored property 안에서 맨들어져야 하고동요~ ㅋㅋ;

즈~~아 우쨋든 저는 학생이 가입하면 print로 등록됐다고 알려주는 기능을 갖고 있는 Method인 register 양반을 맨들어 보았습니다.

 

아! 참! 근데 저 func 앞에 mutating 이라는 이상한 놈이 있죠? 요고는 뭐냐면여 제가 프로퍼티를 선언해 놓았잖아요?

numOfRegistered 는 0 으로 선언해 놓았습니다.

 

넌 현재 0이야 유노? 이렇게 딱 잘라 말해놓았습니다. 근데 이제와서 "나 앞으로 학생 강의 신청 받을거니까 받을 때 마다 너 +1 씩 해야해 알겠냐?" 라고 하니까 어이가 아리마셍 인거죠

 

그럴 때 앞에 mutating 이라는 거를 붙이면 정의 되어 있는 것을 변경할 수 있도록 권한을 준다는 뭐 그런 느낌으로 생각하시면 대여 ㅋㅋ

 

두 번 째 로

 

Method는 또 이러한 것도 가능하다구욧!!!!!! 어떤거냐면요!!! 제가 정의한 struct 밖에서 영향을 주는 Method 를 생성할 수 있습니다.

놀랍죠? 저도 몰랐는데 가능하더라구욧!..!

이런식으로 제가 Math struct를 맨들어 놓았어여. 이거를 가지고 막 계산을 하다가 제가 어느날 어? 뭔가 제곱하는 것도 구해야 하고 절반값을 구하는 것도 있어야하네? 어쩌지? 라고 생각이들어서 코드를 막마막 뒤지다가 결국 찾는데만 1시간이 걸리고 말았답니다...

 

이런 문제가 발생할 수 있으니 Swift 에서는 싱기한 기능이 있는데여

 

요 extention 이라는 녀석입니다. 보시면 extention Math 를 통해서 나 Math struct 안에다가 이런것들을 넣을꺼야~ 하는 용어 인데여

저렇게 넣어주고 외부에서 Math.sqare(value : 10)딱 이렇게 호출하면? 10 * 10 이 되면서 100이 짠 하고 나타납니다.

 

이 extention을 잘 알아두시길 바랄게요!! 저도 내일 또 복습하러 오겠습니다~~~

 

그럼 오늘도 즐거운 코딩 완료! 내일 봐연!

728x90