0

我可以在UserDefaults. 假设如果我删除了更多邮件,那么我必须添加/增加保存的UserDefaults值,如果我检索它应该是总删除邮件数。->> 这里numEmails是删除的邮件编号(整数)。

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

我将用其他示例解释这种情况->> 我想将进入的车辆(里面的车辆数量)保存到停车区(即UserDefaults保存的值根据进入的汽车而变化)。如果我检索它应该更新传入的值不要考虑传出,我不需要传出

4

2 回答 2

1

您可以使用 UserDefaults 的 set(Int, forKey: String) 方法:

//Get
let deletedMailsCount = UserDefaults.standard.integer(forKey: "NumberofMailsDeleted")
//Update deletedMails count
deletedMailsCount += 1;
//Set
UserDefaults.standard.set(deletedMailsCount, forKey: "NumberofMailsDeleted")
UserDefaults.standard.synchronize()
于 2017-11-30T12:01:47.290 回答
1
var deletedEmail: Int { get { return UserDefaults.standard.integer(forKey: "emailsDeleted") } set { UserDefaults.standard.set( newValue forKey:"emailsDeleted")} }

使用计算属性,您可以将其简化为这样的东西。newValue 是可以在 set 属性中使用的关键字。不要声明 newValue !!。只需尝试代码并让我知道。

于 2017-12-01T10:52:48.157 回答