일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 개발
- 알고리즘
- 백엔드
- JavaScript
- db
- 개발자
- 백준
- spring
- 회원가입
- Xcode
- SwiftUI
- node
- post
- UI
- Java
- 아이폰
- 통신
- swagger
- 앱개발
- API
- mac
- java spring
- IOS
- spring boot
- 서버개발
- Alamofire
- 앱
- Node.js
- Swift
- database
- Today
- Total
YagSill
IOS 메소드 본문
안녕하세요 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을 잘 알아두시길 바랄게요!! 저도 내일 또 복습하러 오겠습니다~~~
그럼 오늘도 즐거운 코딩 완료! 내일 봐연!
'Swift - IOS 앱 개발' 카테고리의 다른 글
IOS 앱 개발 [상속]? (0) | 2021.08.30 |
---|---|
IOS 앱 개발 Class 와 Struct의 차이 (0) | 2021.08.26 |
IOS 앱 개발 property, 프로퍼티 vs 메소드 ? (0) | 2021.08.24 |
IOS 앱 개발 프로퍼티 (0) | 2021.08.23 |
IOS 앱 개발 Closure 좀 더 알아보기 (0) | 2021.08.20 |