상세 컨텐츠

본문 제목

Day 29. Project 5, part 1

TIL/#100DaysOfSwiftUI

by box-jeon 2020. 3. 14. 22:46

본문

https://www.hackingwithswift.com/100/swiftui/29

 

100 Days of SwiftUI – Day 29 – Hacking with Swift

Link copied to your pasteboard.

www.hackingwithswift.com

이번 프로젝트는 WordScramble이라고 해서, 8글자의 단어를 제시한 후에 해당 글자들을 이용해서 다른 단어를 만들어내는 게임을 만드는 것입니다. 재료로 List, Bundle, UITextChecker에 관해 설명하고 있습니다. 아래와 같은 인터페이스를 제공하는데요.

func rangeOfMisspelledWord(in stringToCheck: String, range: NSRange, startingAt startingOffset: Int, wrap wrapFlag: Bool, language: String) -> NSRange

parameter로 NSRange를 받는 게 문제입니다. 이모지같은 것들 때문에 String.count를 그냥 사용하면 안되고 String.utf16.count를 사용해야한다는 이야기네요. 에디터 구현할 때 워낙 많이 당해서, 새삼스럽지도 않습니다. 아예 이런 걸 만들어서 쓰는 중입니다.

extension String {
    var ns: NSString { return self as NSString }
}
extension NSString {
    var totalRange: NSRange { return NSRange(location: 0, length: self.length)
}

 

'TIL > #100DaysOfSwiftUI' 카테고리의 다른 글

Day 31. Project 5, part 3  (0) 2020.03.16
Day 30. Project 5, part 2  (0) 2020.03.15
Day 28. Project 4, part 3  (0) 2020.03.13
Day 27. Project 4, part 2  (0) 2020.03.12
Day 26. Project 4, part 1  (0) 2020.03.12

관련글 더보기

댓글 영역