Swift
-
VaporSwift 2023. 8. 7. 11:15
애플에서 제공하는 서버 프레임워크 리턴 값이 서버에 출력된다. import Vapor func routes(_ app: Application) throws { // http://127.0.0.1:8080 app.get { req async in "It works!" } // http://127.0.0.1:8080/hello app.get("hello") { req async -> String in "Hello, world!" } // http://127.0.0.1:8080/hello/vapor // app.on(.GET, "hello", "vapor") 으로 써도 된다 app.get("hello", "vapor") { req in return "Hello, vapor!" } // http://127.0...
-
XCTestSwift 2023. 8. 2. 10:45
테스트 코드를 위한 애플의 프레임워크 - Unit Test - UI Test - Performance Test tearDown() : 현재 테스트 환경을 정리한다. 테스트 중에 생성된 모든 리소스나 객체를 정리 하는 용도로 사용, 각 테스트가 격리되고 후속 테스트에 영향을 줄 수 있는 잔여 효과를 막기 위함 예시 코드 https://developer.apple.com/documentation/xctest XCTest | Apple Developer Documentation Create and run unit tests, performance tests, and UI tests for your Xcode project. developer.apple.com 애플 테스트 튜토리얼 https://develope..
-
sheet (Q)Swift/SwiftUI 2023. 8. 2. 01:12
Button("포켓몬 추가") { self.isPresented.toggle() }.sheet(isPresented: $isPresented) { //띄울 뷰 & 뷰에 전달할 바인딩 값 AddPocketmonView(pocketmonStore: pocketmonStore, isShowingAddSheet: $isShowingAddSheet) } sheet(isPresented:onDismiss:content:) Presents a sheet / when a binding to a Boolean value that you provide is true. ⚠️ 오류: 바인딩 값 변수를 같게 (isPresented)로 통일한다. 예제 코드 struct ContentView: View { @State privat..
-
swiftUI의 특징 (선언적 구문, 데이터 주도)Swift/SwiftUI 2023. 7. 24. 09:36
- 선언적 구문 autolayout을 이용하여 사용자 인터페이스가 어떤 모양이어야 하는지 각각 잡아주지 않아도 된다. list,Hstack등을 명시하고 속성을 설정하기 위하여 수정자(modifier)를 사용한다. 이렇게 선언하고 나면 레이아웃의 위치와 컨스트레인트 그리고 렌더링 방법에 대한 모든 복잡한 세부사항은 swiftUI가 자동으로 처리한다. - 데이터 주도 앱 데이터와 앱의 사용자 인터페이스 및 로직 사이의 관계에 대해 데이터 주도적이다. swiftUI 이전에는 앱 내에 있는 데이터의 현재 값을 검사하려면 그에 대한 코드를 앱에 포함해야 한다. -> UIKit은 새로고침을 눌러 주어야 한다. but, 데이터 주도적이면(swiftUI 는), 내용이 변경된다면 자동으로 감지할 수 있다. (: @Sta..
-
싱글톤 패턴Swift 2023. 7. 22. 22:50
[싱글톤 패턴] : 객체를 하나만 생성하여 공용으로 사용하고 싶을 때 사용하는 디자인 유형. 전역에 둔다는 것은 무엇인가? : 어떤 클래스 안에 넣지 않고 프로젝트에서 접근 가능한 범위에 둔다. class로 생성 해야(:참조타입이어야 한다) 싱글톤 클래스 생성 방법 class UserInfo { static let shared = UserInfo() var id: String? var password: String? var name: String? private init() { } } 인스턴스를 저장할 프로퍼티를 만든다. UserInfo가 생성되어 shared 프로퍼티 (타입 프로퍼티) 에 담긴다. 싱글톤 클래스 접근 방법 //A ViewController let userInfo = UserInfo.sh..
-
Swift 개발자를 위한 Objective-C - Swift와 Objective-C 섞어쓰기Swift 2023. 7. 13. 18:11
swift 파일 제작 objc 파일 만들기 // // CCalc.m // BridgeCalc // // #import #import "CCalc.h" @implementation CCalc // 구현 코드 작성 - (int)plus:(int)number1 with:(int)number2 { int result = number1 + number2; return result; } - (int)minus:(int)number1 with:(int)number2 { int result = number1 - number2; return result; } - (int)multiply:(int)number1 with:(int)number2 { int result = number1 * number2; return res..