본문 바로가기

iOS82

[Swift] Closure 클로저(Closure).. Swift 사용에 있어서 빠질 수 없는 것이다. 클로저란? 클로저(Closure)는 코드블럭으로 C와 Objective-C의 블럭(block)과 다른 언어의 람다(lambda)와 비슷하다. 사용자의 코드 안에서 전달되어 사용할 수 있는 로직을 가진 중괄호“{}”로 구분된 코드의 블럭이며, 일급 객체의 역할을 지닌다. 일급 객체는 전달 인자로 보낼 수 있고, 변수/상수 등으로 저장하거나 전달할 수 있으며, 함수의 반환 값이 될 수도 있다. 클로저는 어떤 상수나 변수의 참조를 캡쳐(capture)해 저장할 수있다. Swift에서 클로저 표현은 최적화 되어서 간결하고 명확하다. 이 최적화에는 다음과 같은 내용을 포함한다. 문맥(context)에서 인자 타입(parameter type.. 2021. 9. 24.
[Swift] Functions 함수 (Functions) 정의와 호출 (Defining and Calling Functions) 정의 (Define) func greet(person: String) -> String { let greeting = "Hello, " + person + "!" return greeting } // 문자열 직접 반환 가능 func greet(person: String) -> String { return "Hello, " + person + "!" } 함수를 선언할 땐 맨 앞에 func 키워드를 붙이고 선언함수 이름을 정한 뒤, (person: String) 파라미터와 타입, 그리고 -> String 반환 타입을 정의한다. 호출 (Call) print(greet(person: "Anna")) // "Hell.. 2021. 9. 23.
M1 error running pod install https://github.com/CocoaPods/CocoaPods/issues/10904 M1 error running pod install · Issue #10904 · CocoaPods/CocoaPods Command /usr/local/bin/pod install Report What did you do? Installing react-native (not via expo) but got an error in installing CocoaPods dependencies and tells to manually run pod install What di... github.com https://stackoverflow.com/questions/64901180/running-cocoapods-on-ap.. 2021. 9. 20.
text property the text property of a textfield is never going to equal nil, even if it's empty, it's going to be set https://stackoverflow.com/questions/24102641/how-to-check-if-a-text-field-is-empty-or-not-in-swift How to check if a text field is empty or not in swift I am working on the code below to check the textField1 and textField2 text fields whether there is any input in them or not. The IF statement .. 2021. 9. 10.
IOS Application Lifecycle IOS에서 앱을 실행하면 어떤 과정을 통해 실행될까? C언어에 뿌리를 둔 모든 애플리케이션은 main() 함수로부터 시작된다. 이를 Entry Point라고 한다. OS가 애플리케이션 내부에 정의된 main() 함수를 찾아 호출하면 함수에 작성된 코드가 실행되며, 작성해둔 Custom Code에 까지 도달하게 되는 식이다. IOS 앱 또한 Object-C 기반으로 돌아가기 때문에 앱은 main() 함수에서 시작된다. 다만, 다른 C 기반의 앱과 달리, IOS 앱은 핵심 라이브러리인 UIKit Framework가 main() 함수를 관리하여 사용자가 직접 작성하지 않는 차이가 있다. 다음은 실제로 Object-C 기반의 XCode 프로젝트를 생성하였을 때, main.m 파일 안에 생성되는 main() 함수.. 2021. 9. 9.
[Swift] Control Flow Control Flow Swift에서는 while loop, if guard, switch, for-in 문 등 많은 제어문을 제공한다. For-In 문 for-in문은 배열, 숫자, 문자열을 순서대로 순회(iterate)하기위해 사용한다. let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Hello, \(name)!") } // Hello, Anna! // Hello, Alex! // Hello, Brian! // Hello, Jack! 사전에서 반환된 key-value쌍으로 구성된 튜블을 순회하면서 제어할 수도 있다. 하지만 사전은 순서대로 정렬이 되지 않기때문에, 사전에 기입한 순서대로 순회하지않는다. let numbe.. 2021. 9. 8.