Swift

SwiftUI/Planting-Mind Dev Log

devlog 07. 나중에 보려고 만든 UITest 관련 모음.zip

UITest는 알파벳 순서대로 진행된다. 클래스 파일 - 파일 내부 메서드 순서까지 그래서 클래스는 UnitTest_A 이런식으로 만들고 내부 메서드는 test_01_테스트이름으로 관리했다. 앱실행 let app = XCUIApplication() app.launch() XCTestCase extension 원하는 element가 있는지 체크 후 tap할 수 있도록 XCTestCase에 extension 추가 func tap(element: XCUIElement?, timeout: Double = 1.0) { XCTAssertTrue(element?.waitForExistence(timeout: timeout) == true) element?.tap() } func checkAlert(app: XCUIA..

Algorithm

Swift로 Leet Code 문제 풀기 - 13. Roman to Integer (Easy)

13번 문제는 로마 숫자를 실제 숫자로 변환하는 문제였다. 로마 숫자 심벌마다 정해진 value가 있다. (I, V, X만 알았는데 다른 것도 다 실제로 있는 건가...?) 그리고 또 하나의 조건이 더 있다. 4, 9, 40, 90, 400, 900은 표기 조건이 달랐다. 4면 IIII가 아니라 IV으로 표기하는..? 예시를 하나 확인해보자. Input으로 MCMXCIV라는 문자열이 들어왔을 때 M은 1000, CM은 900, XC는 90, IV는 4로 치환되어 결과값이 1994가 된다. 그냥 기본 로마 숫자만 들어오면 참 좋을 텐데.. 각 자릿수를 확인하는 게 포인트였던 것 같다. 내가 푼 방법 1. 일단 문자열을 봤을 때 IV, IX, XL, XC, CD, CM가 존재하는 경우 결과값에 미리 더한 후..

Algorithm

Swift로 Leet Code 문제 풀기 - 1. Two Sum (Easy)

1번 문제는 주어진 int형 배열 nums와 target인 정수를 받아서 풀어야 하는 문제. nums 배열 중 두 요소의 합이 target이 되는 경우 두 수의 index를 int형 배열로 반환하면 된다. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order. 무조건 하나의 답이 존재하고 배열 요소 하나를 두 번 더하면 안 된다. 정답의 index 순서는 상관없는 것 같다. 예시로 확인해보면 nums로 받은 배열 중 두 요소의 합이 9가 되는 경우는 2와 7을 더한 경우이므로 두 값의 index인 ..

iOS

UILabel 원하는 범위만 색 변경하기 - NSMutableAttributedString 사용하기

원하는 범위의 문자열에만 색상을 변경하거나 볼드 처리를 하는 등의 작업이 필요할 때가 있다. 요 때 코드상에서 NSMutableAttributedString을 사용해 적용할 수 있는데, 적용할 때마다 찾아보게 돼서 한 번 정리가 필요하다고 느꼈다. NSMutableAttributedString을 원하는 UILabel의 텍스트로 만들어 NSRange를 통해 원하는 부분만 설정해주었다. if let text = self.attributedLabel?.text { // UILabel의 텍스트를 가지고 NSMutableAttributedString 생성 let attributedString = NSMutableAttributedString(string: text) // 원하는 attribute를 dictiona..

eunjuicy
'Swift' 태그의 글 목록