반응형
NSUserDefaults에서 사용자 기본값을 삭제하는 방법은?
즉, 내 앱은 처음에 몇 가지 표준 기본값을 설정합니다.그러면 사용자가 이러한 값을 무시할 수 있습니다.그리고 사용자가 일을 망쳤을 때, 저는 그 설정들을 제 앱 기본값으로 다시 설정하고 싶습니다.앱 기본값은 사용자 기본값과 다른 사전이며, 사용자 기본값은 앱 기본값보다 우선합니다.하지만 사용자 기본값을 삭제할 수 있는 방법을 찾지 못했습니다.감 잡히는 게 없어요?
환경설정을 삭제할 수 있는 기능을 제공합니다.
이 코드 사용
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"MyKey"];
즉시 저장하려면 동기화하는 것을 잊지 마십시오.
[[NSUserDefaults standardUserDefaults] synchronize];
동기화 - 이 메서드는 주기적으로 자동으로 호출됩니다. 이 메서드는 자동 동기화를 기다릴 수 없거나(예: 응용프로그램이 종료되려고 하는 경우) 변경하지 않은 경우에도 사용자 기본값을 디스크에 있는 것으로 업데이트하려는 경우에만 사용합니다.
스위프트 5:
UserDefaults.standard.removeObject(forKey: "MyKey")
UserDefaults.standard.synchronize()
NSUserDefaults * removeUD = [NSUserDefaults standardUserDefaults];
[removeUD removeObjectForKey:@"shoping"];
[[NSUserDefaults standardUserDefaults]synchronize ];
간단한 복사 붙여넣기를 위한 빠른 버전:
var idForUserDefaults = "somestupidtext"
var userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.removeObjectForKey(idForUserDefaults)
userDefaults.synchronize()
아니면
NSUserDefaults.standardUserDefaults().removeObjectForKey("somestupidtext")
NSUserDefaults.standardUserDefaults().synchronize()
특정 KEY 값을 제거하려면:
스위프트 3+
UserDefaults.standard.removeObject(forKey: "KEY")
Obj-C
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"KEY"];
[[NSUserDefaults standardUserDefaults] synchronize];
UserDefaults/Clear All 데이터를 재설정해야 하는 경우:
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
스위프트 3:
if let bundle = Bundle.main.bundleIdentifier {
UserDefaults.standard.removePersistentDomain(forName: bundle)
}
Swift 3.0 코드 업데이트:
UserDefaults.standard.removeObject(forKey: "YOURKEY")
인 스위프트 4
UserDefaults.standard.removeObject(forKey: "your_key")
UserDefaults.standard.synchronize()
스위프트 웨이
UserDefaults.standard.removeObject(forKey: "aKey")
UserDefaults.standard.synchronize()
언급URL : https://stackoverflow.com/questions/1342348/how-to-delete-a-user-default-value-in-nsuserdefaults
반응형
'programing' 카테고리의 다른 글
인터뷰 질문 (0) | 2023.10.02 |
---|---|
도커: 컨테이너가 다시 시작할 때 다시 시작됩니다. (0) | 2023.10.02 |
원격 분기를 다른 이름의 로컬 레포로 끌어오시겠습니까? (0) | 2023.10.02 |
getaddrinfo()는 DNS 조회를 어떻게 합니까? (0) | 2023.10.02 |
각 성분의 조건부 스타일링 (0) | 2023.10.02 |