programing

NSUserDefaults에서 사용자 기본값을 삭제하는 방법은?

yellowcard 2023. 10. 2. 13:53
반응형

NSUserDefaults에서 사용자 기본값을 삭제하는 방법은?

즉, 내 앱은 처음에 몇 가지 표준 기본값을 설정합니다.그러면 사용자가 이러한 값을 무시할 수 있습니다.그리고 사용자가 일을 망쳤을 때, 저는 그 설정들을 제 앱 기본값으로 다시 설정하고 싶습니다.앱 기본값은 사용자 기본값과 다른 사전이며, 사용자 기본값은 앱 기본값보다 우선합니다.하지만 사용자 기본값을 삭제할 수 있는 방법을 찾지 못했습니다.감 잡히는 게 없어요?

환경설정을 삭제할 수 있는 기능을 제공합니다.

이 코드 사용

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"MyKey"];

즉시 저장하려면 동기화하는 것을 잊지 마십시오.

[[NSUserDefaults standardUserDefaults] synchronize];

NSUserDefaults 클래스 참조

동기화 - 이 메서드는 주기적으로 자동으로 호출됩니다. 이 메서드는 자동 동기화를 기다릴 수 없거나(예: 응용프로그램이 종료되려고 하는 경우) 변경하지 않은 경우에도 사용자 기본값을 디스크에 있는 것으로 업데이트하려는 경우에만 사용합니다.

스위프트 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

반응형