Programming
-
Swift - ClosureProgramming/Swift 2020. 10. 11. 17:06
오늘은 Closure에 대해서 공부하겠습니다! 같이 공부한 Function Type을 잘 이해하셨다면 어렵지 않게 이해하실 수 있으실 거예요. Closure란 어떠한 기능을 하는 코드 블럭을 의미합니다. 어디서 많이 들어본 의미인 거 같죠? 우리가 이전에 공부했던 함수도 Closure에 속합니다. Named Closure과 Unnamed Closure Closure는 자세히 나누면 Named Closure Unnamed Closure 으로 나눌 수 있습니다. 그리고 Named Closure에는 Global Function과 Nested Function이 있습니다. 이 둘은 Function과 Nested Function으로 부릅니다. Unnamed Closure에는 Anonymous Closure가 있습니..
-
Swift - Function Notation, Function TypeProgramming/Swift 2020. 10. 9. 23:24
오늘은 함수를 부르는 방법인 Function Notation과 함수의 형식인 Function Type에 대해서 공부해 보겠습니다. Function Notation 함수를 호출하는 게 아니라 함수를 표기하는 방법입니다. 함수 표기 방법을 왜 알아야 할까요??? 공식문서를 볼 때나 상수나 변수에 함수를 저장할 때 Function Natation이 사용됩니다. Parameter가 없거나 ArgumentLabel을 _로 생략한 경우에는 funcName 만 적어줍니다. _로 생략한 경우 funcName(_:)과 같이 나타낼수도 있습니다. funcName()으로 적으면 이건 함수 호출 식이죠? 헷갈리지 않게 주의해주세요. 상수 a에 함수 sayGreeting을 저장했습니다. 함수를 호출한 표현식을 저장한 게 아니죠..
-
Swift - Function Variadic, In-out ParameterProgramming/Swift 2020. 10. 8. 23:33
안녕하세요 :) 오늘은 Parameter의 Defalut Value 그리고 Variadic Parameter와 In-out Parameter에 대해서 공부해보도록 하겠습니다! Default Value Parameter를 작성할 때 Default Value(기본값)을 지정할 수 있습니다. 기본값을 지정하게 되면 함수를 호출할 때 Argument Label을 생략할 수 있으며 생략하면 기본값으로 Parameter에 전달됩니다. Type뒤에 = defaultValue를 적어주면 됩니다. 당연히 기본값은 앞에 Type과 같은 Type 이어야 합니다. 그럼 어떻게 사용되는지 예를 보겠습니다. Parameter 선언 부분에 argumentLable을 to로 parameter는 String Type의 name으로 선..
-
Swift - Function ParameterProgramming/Swift 2020. 10. 7. 23:16
지난 포스팅에 이어 오늘은 Parameter(파라미터)가 있는 함수를 선언하고 호출하는 방법에 대해서 공부해보도록 하겠습니다. Parameter란 외부에서 값을 가져와 Function Body에서 사용하는 임시 상수를 의미합니다. Parameter는 함수가 호출되면 생성되고 함수가 종료되면 삭제됩니다. Defining Function 지난 포스팅에서 함수를 선언할 때 Function Head부분에서 func funcName(parameter) -> ReturnType 이라고 설명하고 넘어갔습니다. 여기서 parameter 부분을 자세히 설명하면 이렇게 parameterName과 ParameterType으로 작성해야 합니다. 여러 개를 작성하고 싶다면 , (comma)로 얼마든지 원하는 수만큼 작성할 수 ..
-
Swift - Function BasicProgramming/Swift 2020. 10. 6. 23:14
안녕하세요 :) 오늘은 Function(함수)에 대해서 공부해보려고 합니다. 함수란 어떠한 기능을 하는 코드 블록을 의미합니다. 함수를 사용하는 큰 이유중 하나는 재사용성에 있습니다. 자주 사용되는 기능을 함수로 구현 해 놓으면 코드의 중복을 줄일 수 있기 때문이죠. 사실 지금까지 우리는 함수를 계속 사용해 왔습니다. 대표적으로 print함수가 있겠네요. 로그에 출력을 해주는 기능을 하는 print함수가 없다면 우리는 이 기능을 구현하기 위해 매번 방대한 양의 코드를 매번 작성하면서 사용했어야 할 겁니다. 다행히도 Swift에서는 기본적으로 제공해주는 유용한 함수들이 있습니다. 이러한 함수들 해당 사이트에서 확인할 수 있습니다. developer.apple.com/documentation/swift/sw..
-
Swift - Optional Binding, Nil-coalescing OperatorProgramming/Swift 2020. 10. 5. 23:17
오늘은 Optioanl을 추출하는 방법인 Optional Binding에 대해서 공부해 보겠습니다. 지난 포스팅에서 강제 추출 연산자를 이용한 강제 추출에 대해서 같이 공부했습니다. 강제 추출은 만약 nil을 추출하려고 하면 FatalErrorr가 발생했었죠?? 그리고 이를 안전하게 쓰기 위해서는 이렇게 If문으로 nil이 아닌지를 판단한 후에 강제 추출을 사용해야 합니다. 하지만 매번 이렇게 사용하기에는 문제가 많습니다. 그래서 옵셔널 값을 추출할 땐 OptionalBinding을 사용합니다. Optional Binding Optional Binding은 if, while, guard문에서 사용됩니다. guard문에서의 사용법을 보겠습니다. 여기서 let name: Type = OptionalExpre..
-
Swift - Optional, Forced-UnwrappingProgramming/Swift 2020. 10. 1. 17:18
오늘은 Optiona(옵셔널)에 대해서 같이 공부해봐요! 처음 Optional을 접한다면 많이 생소할 수 있습니다. 하지만 천천히 공부하며 이해하면 어렵지 않을 거예요! Optional이란 값이 있을 수도 있고 없을 수도 있는 상태를 나타내는 단어입니다. 있을수도있고 없을수도 있으니 선택적(optional)이죠? Optional이라는 이름은 여기서 왔습니다. 값이 없을 수가 있나?? 상수나 변수를 만들 때 값을 무조건 다 저장하면 되는 거 아니야?? 이런 생각이 드실 수도 있습니다. 우리가 상수나 변수를 생성할 때는 값이 없는 상황을 만들지 않을 수 있습니다. 하지만 만약 네트워크를 통해 외부에서 값을 가져와 변수에 저장하는 상황을 생각해보죠. 인터넷 연결이 끊겨 값을 가져오지 못했거나 오류로 인해 값을..
-
Swift - Control Transfer StatementsProgramming/Swift 2020. 10. 1. 01:14
이번에는 Control Transfer Statements(제어 전달문)에 대해서 공부해보겠습니다! Control을 Transfer 한다. 제어를 전달한다는 뜻은 현재 스코프에서의 실행 중인 코드를 종료하고 다음 차례의 코드를 실행하는 것을 말합니다. Swift에서는 5가지 제어전달문을 제공합니다. 우리는 조건문포스팅에서 5가지 중 하나인 fallthrough에 대해서 공부했습니다. 그리고 오늘은 break와 continue에 대해서 알아보겠습니다. 나머지 2개는 다음에 같이 공부하도록 하겠습니다! break break는 반복문과 switch문에서 주로 사용합니다. break가 실행되면 현재 반복문이나 switch문을 종료시킵니다. 지난 포스팅에서 작성한 구구단을 출력하는 예시에서 사용해 보도록 하겠습니..