2017-11-30 7 views
0

UserDefaults에 삭제 된 메일 번호 (예 : 정수 값)를 저장하고 검색 할 수 있습니다. 만약 내가 더 많은 메일을 삭제했다면 추가/증가시켜야합니다. UserDefaults 값을 가져 오면 검색 한 메일은 완전히 삭제 된 메일 수이어야합니다. - >> 여기 numEmails이 삭제됩니다. 메일 번호 (정수).UserDefaults에 정수 값을 저장하고 값을 더한 후 검색

UserDefaults.standard.set(numEmails, forKey: "NumberofMailsDeleted") //Saving 
var numMailsDeleted = UserDefaults.standard.integer(forKey: "NumberofMailsDeleted") //Retriving 
print("I've deleted \(numMailsDeleted) mails") //Printing` 

나는 다른 예와 함께이 시나리오를 설명합니다 - >> 나는 (즉 UserDefaults 저장된 값이 들어오는 차에 따라 변화)를 주차장에 들어오는 차량 (내부 차량의 번호)를 저장합니다. 내가 나가는 생각하지 않는 수신의 업데이트 된 값을 제공해야 검색 할 경우에, 나는

+0

문제없이 저장하고 검색한다는 점에서 어떤 문제가 있습니까? –

+0

안녕하세요 @ GaneshManickam, 하나의 값을 저장할 수 있지만 어떻게 추가 할 수/내가 시간이 지남에 더 많은 메일을 삭제하면 가치가 증가 할 수 있습니다. – MIOSY

답변

1

당신은 설정을 사용할 수 있습니다 나가는 필요가 없습니다 (INT, forKey : 문자열) UserDefaults 방법 :

//Get 
let deletedMailsCount = UserDefaults.standard.integer(forKey: "NumberofMailsDeleted") 
//Update deletedMails count 
deletedMailsCount += 1; 
//Set 
UserDefaults.standard.set(deletedMailsCount, forKey: "NumberofMailsDeleted") 
UserDefaults.standard.synchronize() 
+0

Indra Mohan 덕분에, 그것은 1로 끊임없이 증가했지만 numEmails varaiable에서 매번 가치를 얻고 싶습니다. – MIOSY

+0

나는 당신의 이해를 위해서 그 코드를 추가했다. 그 부분을 제거하고 자신의 논리를 넣어 삭제 된 전자 메일을 계산하십시오. –

0
var deletedEmail: Int { get { return UserDefaults.standard.integer(forKey: "emailsDeleted") } set { UserDefaults.standard.set(newValue forKey:"emailsDeleted")} } 

계산 된 속성을 사용하면 다음과 같이 단순화 할 수 있습니다. newValue는 set 속성에서 사용할 수있는 키워드입니다. newValue 선언하지 마 !!. 코드를 입력하고 알려주세요.