2016-09-15 5 views
2

이것은 버그 인 것 같습니다. - 도와주세요. 기본값의 기존 값을 제거하려고합니다. 내가 8/아이폰 OS 10/아이폰 7 시뮬레이터 엑스 코드에서 실행하고XCode 8/Swift 3 UserDefaults.standard set nil 오류

val=Optional(<62706c69 73743030 d4010203 04050608 09582476 65727369 6f6e5824 6f626a65 63747359 24617263 68697665 72542474 6f701200 0186a0a1 0755246e 756c6c5f 100f4e53 4b657965 64417263 68697665 72d10a0b 54726f6f 74800008 111a232d 3237393f 51545900 00000000 00010100 00000000 00000c00 00000000 00000000 00000000 00005b>) 

-

UserDefaults.standard.set(nil, forKey: "test-me") 
let val = UserDefaults.standard.object(forKey: "test-me") 
print ("val=\(val)") 

나는 다음과 같은 결과를 얻었다.

+0

할 때 [이 질문] (http://stackoverflow.com/questions/39515942/xcode-8-swift-3-ios-10-saving-nsdate-error) 그러나 설명과 해결책 모두 잘못되었습니다 ... –

답변

6

다른 게시물의 Rob 님의 의견이 올바른 것 같습니다. 값을 "nil"로 설정하면 NSData로 저장됩니다. 키를 제거하려면, 대신에이 시도 : 당신은 다음 아마 "전무"다시 얻을 것이다

UserDefaults.standard.removeObject(forKey: "test-date") 

내가 원래 게시 object(forKey: "test-date")

+0

감사! 어쨌든, 나는 removeObject API를 보지 못했습니다. –