iOS 응용 (swift)
[iOS - swift] UIPasteBoard.general.changeCount (복사했는지 확인 방법)
jake-kim
2024. 11. 12. 01:45
changeCount 개념
- 아이폰 사용자가 복사, 클립보드 제거 등의 UIPasteBoard 관련 수정 작업을 하면 애플에서 수정 기록을 기록하는데, 이 기록하는 변수가 changeCount
@available(iOS 3.0, *)
open class UIPasteboard : NSObject, @unchecked Sendable {
open class var general: UIPasteboard { get }
open var changeCount: Int { get } // <-
...
}
- 코드에서는 아래처럼 접근 가능
UIPasteBoard.general.changeCount
- 주의할 점)
- 공식 문서에는 0으로 초기화 되는 시점 유저가 기기를 재시작하면 된다고 하는데, 재시작해도 0으로 초기화되지 않음
ex) UIPasteboard.general.changeCount 재시작 하기 전과 재시작 후에 출력해보기
class ViewController: UIViewController {
private let label = {
let l = UILabel()
l.text = "changeCount: \(UIPasteboard.general.changeCount)" // <-
l.textColor = .black
l.translatesAutoresizingMaskIntoConstraints = false
return l
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(label)
NSLayoutConstraint.activate([
label.centerXAnchor.constraint(equalTo: view.centerXAnchor),
label.centerYAnchor.constraint(equalTo: view.centerYAnchor),
])
}
}
- 재시작을 위해 Restart 클릭
- 다시 실행해도 0으로 초기화 되지 않음