
1. 설치 Podfile 에 추가 해 준다. pod 'RealmSwift' 2. 기본 사용 방법 테스트용 class 생성 @objc dynamic 은 swift에서 최적화를 하지 말라는 것으로 이해하면 된다. class Person : Object { @objc dynamic var name : String = "" @objc dynamic var age : String = "" override static func primaryKey() -> String? { return "name" } } Init 초기화는 단순하다. print 문을 찍은 이유는 생성되는 .realm 이라는 db 파일의 위치를 알기 위함이다. //init let realm = try! Realm() print( Realm.Config..

Frame 개념 Frame 은 상위 뷰 안에서의 현재 뷰의 위치라고 보면 되고, 우리가 쉽게 떠올리는 기본적이고 일반적인 개념이라고 보면 된다. Frame 구현 이미지로 확인해보면 아래의 프래임 이미지는 아래와 같이 코딩하고 self.view 에 addSubview를 한 경우이다 testView.frame = CGRect(x: 40,y: 50,width: 50,height: 50) Bounds 개념 Bounds는 카메라는 그대로 있고, 뷰 자체를 움직이고 싶을 때 사용한다. scrollview의 경우 본문의 크기는 휴대폰의 화면 사이즈를 넘어가는 형태로 그대로 있는 것이고 카메라도 그대로인데 뷰가 위로 올라가거나 내려가는 것을 상상해 볼 수 있다. 아래의 그림을 보면 더 잘 이해할 수 있다. Bounds..

1. 설정 내비게이션 바에서 6번 째로 이동해서 UI Test target 추가해 준다. 2. 튜토리얼 확인 UIView 상의 Object에 접근하는 방법이 Xcode 와는 다르기 때문에 그 부분을 먼저 확인해야 한다. 그리고 사용자의 액션이 추가가 되면 그부분에 대한 명령 도 일아 야 한다. app.buttons["Button"].tap() 위와 같은 문구에 대해 설명하자면, app //app = XCUIApplication() 로 코드에서 할당하였다 app 앱의 buttons["Button"] //Button이라는 버튼을 tap() //탭 하라는 동작이다. 다 외울 수 없기 때문에 쉽게 확인 하는 방법이 있다. 소스코드 왼쪽 하단의 빨간색 녹화 버튼을 누르고 나서 시뮬레이터 안의 버튼을 선택하는 동작..

1. 설정 가지고 있는 프로젝트의 좌측 상단 내비게이션 바에서 체크된 다이아몬드 모양을 클릭하고 좌측 하단의+ 를 누르면 unit test를 추가할 수 있다. New unit test target 선택하고 현재 프로젝트 선택 2. 기본 코드 생성 아래와 같이 기본 소스 코드가 생성된다. import XCTest class ActiveLabelTestTests: XCTestCase { override func setUpWithError() throws { // Put setup code here. This method is called before the invocation of each test method in the class. } override func tearDownWithError() thro..
- Total
- Today
- Yesterday
- IF (KAKAO) DEV 2022
- 같이쓰기
- ATS failed system trust
- XCTestExpectation
- jenkins
- firebase
- chatgpt 4o
- CI/CD
- swiftLint
- swift
- Fastlane
- AWS IoT
- 프로그래머스
- 모듏화
- ChatGPT
- geohash
- Moya
- async
- bitrise
- 코테
- 빌드자동화
- MQTT
- GCD
- RxSwift
- ios
- GPT4
- 무료는 아니지만
- AppThinning
- Default Rules
- xcode whitespace trim option
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |