일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ribs
- swiftUI
- rxswift
- RxCocoa
- UITextView
- combine
- UICollectionView
- map
- SWIFT
- Xcode
- 리팩토링
- HIG
- 리펙토링
- 애니메이션
- Human interface guide
- ios
- collectionview
- MVVM
- 클린 코드
- Clean Code
- uiscrollview
- Protocol
- uitableview
- clean architecture
- Observable
- 리펙터링
- tableView
- Refactoring
- swift documentation
- 스위프트
- Today
- Total
목록NSRange (5)
김종권의 iOS 앱 개발 알아가기
1. UITextField, UITextView에서 알면 좋은 개념 - deleteBackward() 2. UITextField, UITextView에서 알면 좋은 개념 - binding (rx.text, editingChanged, allEditingEvents, shouldChangeCharactersIn, allEditingEvents) 3. UITextField, UITextView에서 알면 좋은 개념 - NSRange, UITextRange (#utf16) 4. UITextField, UITextView에서 알면 좋은 개념 - prefix, suffix, insert NSRange와 UITextRange NSRange 개념 연속된 것 중 한 부분을 나타내는 개념 (위치를 나타내는 location..
UITextView의 Cursor 개념 Cursor는 사용자 편의를 위해서 현재 수정되거나 작성될 곳의 위치를 나타내는 역할 애플에서는 이 Cursor도 코드로 이동시키거나 Cursor의 위치를 파악할 수 있도록 NSRange 형태로 제공 NSRange 개념은 이전 포스팅 글 참고 NSRange 요약 개념 NSRange는 _NSRange의 Typealias로 되어 있고 범위의 시작 위치를 location, 길이를 length 프로퍼티로 표현 public struct _NSRange : @unchecked Sendable { public init() public init(location: Int, length: Int) public var location: Int public var length: Int ..
NSRange 개념 연속된 것 중 한 부분을 나타내는 개념 NSRange는 _NSRange의 별칭 location과 length 2가지의 stored property만 있으면 연속된 것 중 한 부분을 나타낼 수 있음 location: 연속된 길이 중 한 지점 length: 길이 public struct _NSRange : @unchecked Sendable { public init() public init(location: Int, length: Int) public var location: Int public var length: Int } extension으로 여러가지 프로퍼티와 메서드도 제공 주로 범위를 비교할 때 사용하는 연산자 @available(macOS 10.10, iOS 8.0, watch..
알아야 하는 기본 개념 Range NSRange 문자열 처리 메소드 .trimmingCharacters(In: .whitespacesAndNewlines), .replaceingCharacters(in:with:) Range half-open의 범위를 나타내고 있는 구조체 Range는 lowerBound, upperBound프로퍼티가 존재 "1..
textField: 수정 전의 textField객체 range: 수정 될 범위 정보 range.location: 현재 커서 위치 range.length: 삭제된 문자 갯수 EX) "1234"에서 "12"로 변경 -> range: {2, 2} "현재 커서 위치는 2, 문자열에서 수정된 길이는 2개" "123456"에서 "123"으로 변경 -> range: {3,3} "123"에서 "1234"로 변경 -> range: {3, 0} func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { // 현재: "123" // 입력: "1234" let ..