Programming/Swift
-
Swift - Tuple Decomposition, MatchingProgramming/Swift 2020. 10. 13. 17:17
안녕하세요 :) 오늘은 Tuple Decompostion과 Tuple Matchng에 대해서 같이 공부해 보도록 해요! Tuple Decomposition Tuple을 생성했는데 Tuple Member를 각각 상수나 변수에 저장해야 할 때가 있습니다. 이럴 때 어떻게 하면 될까요?? 이렇게 상수나 변수에 각 멤버의 값을 할당하면 됩니다. 이 방법을 사용해도 오류가 발생하지는 않죠? 하지만 이때 Tuple Decompostion을 사용하면 코드를 더 깔끔하게 만들 수 있습니다. 문법은 이렇습니다. 여기서 주의할 점은 Tuple Member의 수와 생성할 상수나 변수의 이름의 개수가 일치해야 합니다. 그렇다면 address는 상수나 변수로 만들고 싶지 않다면 어떻게 해야 할까요?? 이때는 _(Wildcard..
-
Swift - TupleProgramming/Swift 2020. 10. 12. 23:27
오늘은 Tuple에 대해서 함께 공부하는 시간을 가져볼게요 :) Tuple Tuple은 사용자가 직접 생성하는 Type입니다. 하지만 없던 새로운 Type을 생성하는 것이 아닙니다. 이미 존재하는 Type을 묶어서 생성할 수 있습니다. Tuple에 핵심은 () (parenthesis, 괄호)입니다. 한 개 이상의 Type을 () 안에서 선언해주면 됩니다. 그럼 문법을 살펴보겠습니다! () 안에 원하는 Type을 , (comma)로 나열하면 됩니다. 그리고 Type의 개수와 형식에 맞게 값을 할당해야 합니다. 또한 mutable(가변) Tuple로 생성하고 싶으면 var로 선언하면 됩니다. 그럼 바로 예시를 확인해 볼게요. tupleStr은 Type Inference를 사용하여 Tuple을 생성했습니다. ..
-
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..