분류 전체보기313 [SwiftUI] Stack (VStack/HStack/ZStack) Stack 뷰를 수직 또는 수평으로 정렬하는 데 사용되는 컨테이너입니다. Stack을 사용해서 여러개의 뷰를 그룹화하고 레이아웃을 구성할 수 있습니다. VSatck 뷰를 수직으로 쌓는 스택입니다. 선언된 순서대로 뷰들은 위에서 아래로 쌓이게 됩니다. import SwiftUI struct ContentView: View { var body: some View { VStack { Text("First View") Text("Second View") Text("Third View") } } } Alignment VStack에서 alignment 매개변수를 통해 하위 뷰의 정렬 방법을 지정할 수 있습니다. .leading을 선택하면 왼쪽을 기준으로, .trailing을 선택하면 오른쪽을 기준으로, .cente.. 2024. 4. 8. [SwiftUI] Property Wrappers Property Wrappers property wrapper는 프로퍼티에 custom 한 동작을 추가할 수 있는 기능입니다. 프로퍼티에 대한 접근을 래핑 하여 추가 로직이나 동작을 캡슐화 합니다. 이를 통해 코드의 재사용성, 가독성 및 유지 보수성을 향상시킬 수 있습니다. @State view의 상태를 관리하는 데 사용됩니다. view 내부 데이터가 변경되면 자동으로 view를 업데이트합니다. 가변 값으로 취급되며, 뷰가 생성될 때 해당 값이 초기화되고, 사용자 상호 작용 또는 외부 이벤트에 따라 값이 변경될 수 있습니다. 뷰 내부에서 사용되기 때문에 private으로 선언하는 것을 권장합니다. import SwiftUI struct ContentView: View { @State private va.. 2024. 4. 4. [Swift] 자동 참조 카운트 자동 참조 카운트(ARC, Automatic Reference Counting)앱의 메모리 관리를 위해 사용자동으로 참조 횟수를 관리하기 때문에 대부분의 경우에 메모리 관리에 신경쓸 필요가 없고 ARC가 자동으로 사용하지 않는 인스턴스를 메모리에서 해지특정 경우에 ARC에서 메모리 관리를 위해 코드의 특정 관계에 대한 정보를 필요로 함참조 횟수는 클래스 타입의 인스턴스에만 적용되고 구조체, 열거형 등 값 타입에는 적용되지 않음 ARC 동작새로운 클래스 인스턴스를 만들 때 마다 ARC는 인스턴스 정보를 담는데 필요한 크기의 메모리를 할당메모리는 인스턴스에 대한 정보와 관련된 저장 프로퍼티 값을 갖고 있음인스턴스가 더이상 사용되지 않을 때 ARC는 그 인스턴스가 차지하고 있는 메모리를 해지해 공간을 확보AR.. 2024. 4. 2. [Swift] 제네릭 제네릭(Generics)유연하고 재사용 가능한 함수와 타입의 코드를 작성하는 것을 가능하게 함인자값의 타입만 다르고 동일한 기능을 수행하는 함수를 하나로 만들 수 있음 제네릭 함수(Generic Functions)함수명 뒤에 타입 이름 placeholder인 T를 선언하고 a,b 파라미터를 T로 선언func swapTwoValues(_ a: inout T, _ b: inout T) { let temporaryA = a a = b b = temporaryA}var someInt = 3var anotherInt = 107swapTwoValues(&someInt, &anotherInt)// someInt is now 107, and anotherInt is now 3var someString .. 2024. 4. 2. [Swift] 프로토콜 프로토콜(Protocols)어떤 기능에 필요한 요구사항을 선언해두는 것클래스, 구조체, 열거형에 의해 채택프로토콜 문법protocol SomeProtocol {// protocol definition}프로토콜을 따르는 타입을 정의하기 위해서는 타입 이름 뒤에 콜론(:)을 붙이고 프로토콜 이름을 적음프로토콜을 채택할 때는 프로토콜에 정의된 요구사항을 반드시 구현 해야만 함 struct SomeStructure: FirstProtocol, AnotherProtocol { // structure definition goes here}class SomeClass: SomeSuperclass, FirstProtocol, AnotherProtocol { // class definition goes her.. 2024. 3. 29. [Swift] 에러 처리 에러의 표시와 발생enum VendingMachineError: Error { case invalidSelection case insufficientFunds(coinsNeeded: Int) case outOfStock}throw VendingMachineError.insufficientFunds(coinsNeeded: 5) 에러 처리에러가 발생한 함수에서 리턴값으로 에러를 반환해 해당 함수를 호출한 코드에서 에러를 처리하도록 하는 방법do-catch 구문을 사용하는 방법옵셔널 값을 반환하는 방법assert를 사용해 강제로 크래쉬를 발생시키는 방법에러를 발생시키는 함수 사용하기어떤 함수, 메소드 혹은 생성자가 에러를 발생시킬 수 있다는 것을 알리기 위해 throw 키워드를 함수 선언.. 2024. 3. 28. 이전 1 2 3 4 5 6 7 ··· 53 다음 반응형