일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- COLOR
- SwiftUI
- 가상 메모리
- 데드락
- 인프런
- Linked List
- 동기화
- async
- struct
- 동시성
- 운영체제
- scrollview
- core data
- 상호배제
- IOS
- UserDefaults
- Swift
- 프로세스 스케줄링
- 알고리즘
- Codable
- 앨런
- decode
- Algorithm
- deadlock
- 비동기
- forEach
- @state
- 오브젝트
- Apple Developer Academy
- 100 days of SwiftUI
Archives
- Today
- Total
기어가더라도 제대로
[SwiftUI-기초] String 과 작업하기 본문
- 스트링을 스트링 배열로 쪼개기
- - 공백을 기준으로 나누기, 줄바꿈을 기준으로 나누기
// 공백 기준으로 배열에 나눠담기
let input = "a b c"
let letters = input.components(separatedBy: " ")
// \n(줄바꿈) 기준으로 배열에 나눠담기
let input = """
a
b
c
"""
let letters = input.components(separatedBy: "\n")
- 랜덤은 옵셔널을 반환한다.
let letter = letters.randomElement() ?? ""
- 양끝에 특정 chracterSet 지우기 - trimmingChracters(in: )
var str1 = " Learn Swift Programming "
var str2 = "Learn \nSwift Programming\n\n "
print(str1.trimmingCharacters(in: .whitespaces))
print(str2.trimmingCharacters(in: .whitespaces))
- 출력
오타 고치기, UITextChecker 4단계
- 1. 단어와 체커 생성
- 2. 단어 체킹할 범위 알려주기.NS, OBJC 문법
let range = NSRange(location: 0, length: word.utf16.count)
- 3. 설정값을 넘김, 시작점, 언어, wrap 여부, 등 -> 어디가 잘못되었는지 범위가 나옴
let misspelledRange = checker.rangeOfMisspelledWord(in: word, range: range, startingAt: 0, wrap: false, language: "en")
- - 오탈자가 없는 경우 NSNotFound 라는 값이 넘어옴(옵셔널이 OBJC엔 없기 때문)
-4. 오탈자가 있는지 없는지 확인
let allGood = misspelledRange.location == NSNotFound
샘플 작업
func isReal(word: String) -> Bool {
let checker = UITextChecker()
let range = NSRange(location: 0, length: word.utf16.count)
let misspelledRange = checker.rangeOfMisspelledWord(in: word, range: range, startingAt: 0, wrap: false, language: "en")
return misspelledRange.location == NSNotFound
}
- UITextChecker() 를 생성
- 받은 단어의 전체 범위를 나타내도록 NSRange 생성
- word.utf16.count 가 눈에 띈다.
- checker 의 rangeOfMisspelledWord() 메서드가 단어의 오탈자인 부분을 반환한다.
- 만약 location 이 발견되지 않으면 NSNotFound 라는 값을 반환할 것이다.
'SwiftUI - 기초' 카테고리의 다른 글
[SwiftUI-기초] Animation 기본 (0) | 2022.10.28 |
---|---|
[SwiftUI-기초] View 생명주기, View 등장 시 실행 (0) | 2022.10.26 |
[SwiftUI-기초] Bundle 에서 Data 가져오기 (0) | 2022.10.23 |
[SwiftUI-기초] List - style, color (0) | 2022.10.22 |
[SwiftUI-기초] Date, DateComponents (0) | 2022.10.19 |
Comments