我正在将代码基从使用NSCoding转换为使用Codable。在尝试恢复用NSCoding编码的数据时,我遇到了一个问题。我有一个用代码编码的对象:
let encodedUser = NSKeyedArchiver.archivedData(withRootObject: user)
let userDefaults = UserDefaults.standard
userDefaults.set(encodedUser, forKey: userKey)
userDefaults.synchronize()
它以前是用密码解码的:
if let encodedUser = UserDefa
我创建了一些简单的系统,如果userdefaults有"isWalkthroughPresented“键的话。如果键是false,那么显示walkthourghViewController。如果它没有密钥,那么从数据库中检查。
但是,它没有在第一次之后设置密钥。但在发射几次后就可以保存了。问题应该是什么?
这是在用户登录并看到第二个ViewController之后在ViewController中使用的代码:
let userDefaults = UserDefaults.standard
if !userDefaults.bool(forKey: "isWal
如何在一天后重置变量?我使用了这段代码,但是这段代码从整个应用程序中删除了值,而不是从特定的变量中删除。在使用UserDefaults和不使用UserDefaults的情况下,如何在一天后重置特定变量
extension UserDefaults {
static let defaults = UserDefaults.standard
static var lastAccessDate: Date? {
get {
return defaults.object(forKey: "lastAccessDate") as
所以我正在制作一个附加的对象数组。我的问题是,我想在不删除原始对象的情况下添加对象。一旦我附加了这些物体,我就会看到它们。但是当我添加新的对象时,旧的对象就消失了,取而代之的是旧的对象。我如何通过NSUserDefaults保持这两种状态?
到目前为止,我已经做了大量的研究,但没有发现任何东西。
case 0:
self.array.append("Instagram")
UserDefaults.standard.set(self.array, forKey: "addedAccounts")
c
我创建了汽车票预订应用程序。所以我有一个包含Array的Dictionary。其中将最近的路由搜索结果保存到NSUserDefaults中。现在,我想将结果打印到一个TableView中。
现在在TableView中,我只想展示last 10,这是我所能做全部,但问题是每次结果被保存到UserDefaults中,所以UserDefaults的大小增加了,所以我只想删除Defaults,所以每次我的数组element remove Repeat While循环调用UserDefaults中的元素的数量时(如果我有30个元素,运行20次这样的循环)。这就是我为字典所做的事情。
var ar
我相信我使用cancelLocalNotification是不恰当的。
我有一个有条件运行的循环通知,它是使用以下代码创建的:
let localNotification: UILocalNotification = UILocalNotification()
localNotification.alertAction = "Inactive Membership"
localNotification.alertBody = "Our system has detected that your membership is inactive..."
localNo
我正在尝试为一个单词加扰器应用程序做一个排行榜,所以我在进入下一个视图控制器之前保存数据,这最终将是一个排行榜。我的插座都已连接,且segue标识符已正确写入,因此我不明白为什么按下完成后应用程序会崩溃 错误行出现在这里: class AppDelegate: UIResponder,UIApplicationDelegate { var finalScore = Int()
var playerName = String()
var allMyStoredData = UserDefaults.standard
class secondVC: UIViewController {
一旦按下按钮,我正试着弹出一个警报。我希望这幅画的标题是“你愿意挖掘材料吗”,并给出两种选择:是和否。如果选择是,那么我希望实现这一点。
Ironcnt.setvalue(forkey: "Iron")-3
如果选择no,则警报视图将消失。这是我写的代码。当我在模拟器里测试这个时,它崩溃了。我还附上了调试器所说的截图。
import UIKit
let Ironcnt = UserDefaults.standard
let Goldcnt = UserDefaults.standard
let Fiveth = UserDefaults.standard
let shipc
当应用程序打开时,我第一件事就是调用UIAlertView,得到错误Applications are expected to have a root view controller at the end of application launch
你知道为什么会发生这种情况吗?
- (void)viewDidLoad
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if([userDefaults stringForKey:@"kUserName"] == nil)
{
N
我使用一个按钮删除所有地图注释,但是在我更新到Xcode7之后,我遇到了这个错误:
类型“MKAnnotation”不符合协议“SequenceType”
if let annotations = (self.mapView.annotations as? MKAnnotation){
for _annotation in annotations {
if let annotation = _annotation as? MKAnnotation {
self.mapView.removeAnnotation(annotation)