标签: nsuserdefaults

NSUserDefaults removeObjectForKey与setObject:nil

以下两行是否相同?

1. [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"example key"]

2. [[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"example key"]

nsuserdefaults

113
推荐指数
2
解决办法
4万
查看次数

NSUserDefaults是否通过更新到Appstore中的应用程序?

是这样的吗?当您在App Store上向应用程序提交更新时,NSUserDefaults会重置吗?

我的应用程序在更新时崩溃但在完全下载时没有崩溃 - 所以我试图确定在更新的会话中可能与新下载的会话有什么不同.

干杯,尼克.

iphone crash nsuserdefaults

103
推荐指数
2
解决办法
3万
查看次数

如何在Swift中使用UserDefaults?

如何使用UserDefaults在Swift中保存/检索字符串,布尔值和其他数据?

nsuserdefaults ios swift userdefaults

100
推荐指数
4
解决办法
11万
查看次数

Android相当于iOS中的NSUserDefaults

我想保存一些简单的数据.在iPhone上,我可以NSUserDefaults在Objective-C中使用它.

Android中的类似命令是什么?

我只是保存了一些变量,只要安装了应用程序就可以重用.我不想使用复杂的数据库来做到这一点.

android code-translation nsuserdefaults ios

99
推荐指数
1
解决办法
3万
查看次数

在模拟器上卸载应用程序后,NSUserDefaults未清除

这可能听起来真的NOOB!我想检查是否是用户第二次进入我的应用程序,以便保持我正在使用的运行计数NSUserDefaults.我在我rootViewControllerviewDidLoad方法中实现了以下代码:

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

    NSLog(@"hello %ld", (long)[userDefaults integerForKey:@"runCount"]);

    if ([userDefaults integerForKey:@"runCount"] != 1) {
        //not the 2nd run
        [userDefaults setInteger:1 forKey:@"runCount"];
        NSLog(@"not 2nd run");
    } else {
        //second run or more
        NSLog(@"2nd run");
    }

    [userDefaults synchronize];
Run Code Online (Sandbox Code Playgroud)

一切正常,但问题是当我卸载(删除并重新安装)应用程序时,根据此处此处的数据应该被清除,但它不是,并且在重新安装应用程序之前,以前的数据仍然显示.我在iOS模拟器上使用xCode6-beta运行我的应用程序,并在iOS 8上定位应用程序

nsuserdefaults ios ios-simulator xcode6 ios8

93
推荐指数
3
解决办法
3万
查看次数

iOS:在NSUserDefaults中使用布尔值

rootViewController我的应用程序的加载,我希望能够检查用户是否登录凭据已保存到NSUserDefaults.

基本上,当用户加载应用程序并且他/她没有保存她的登录凭证时,modalAlertView将推送,并且用户将能够适当地保存他们的凭证.这会将这些UITextField字符串保存到相应的NSUserDefault对象.但是,有可能,当这个保存完成后,我可以创建NSUserDefault一个布尔值的对象并将值更改为是吗?

这意味着布尔值已经设置为no,并且当用户保存其登录凭据时,它还将布尔值更改为是?

iphone boolean objective-c nsuserdefaults modalviewcontroller

87
推荐指数
3
解决办法
6万
查看次数

使用NSCoding将自定义Swift类保存到UserDefaults

我目前正在尝试将自定义Swift类保存到NSUserDefaults.这是我的Playground的代码:

import Foundation

class Blog : NSObject, NSCoding {

    var blogName: String?

    override init() {}

    required init(coder aDecoder: NSCoder) {
        if let blogName = aDecoder.decodeObjectForKey("blogName") as? String {
            self.blogName = blogName
        }
    }

    func encodeWithCoder(aCoder: NSCoder) {
        if let blogName = self.blogName {
            aCoder.encodeObject(blogName, forKey: "blogName")
        }
    }

}

var blog = Blog()
blog.blogName = "My Blog"

let ud = NSUserDefaults.standardUserDefaults()    
ud.setObject(blog, forKey: "blog")
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我收到以下错误

执行被中断,原因:信号SIGABRT.

在最后一行(ud.setObject...)

在带有消息的应用程序中,相同的代码也会崩溃

"属性列表格式无效:200(属性列表不能包含'CFType'类型的对象)"

有人可以帮忙吗?我在Maverick上使用Xcode 6.0.1.谢谢.

nsuserdefaults nscoding sigabrt swift

76
推荐指数
6
解决办法
5万
查看次数

检查UserDefault是否存在 - Swift

我正在尝试检查用户默认是否存在,如下所示:

func userAlreadyExist() -> Bool {
    var userDefaults : NSUserDefaults = NSUserDefaults.standardUserDefaults()

    if userDefaults.objectForKey(kUSERID) {
        return true
    }

    return false
}
Run Code Online (Sandbox Code Playgroud)

但是,即使对象不存在,它也总是会返回真实的东西吗?这是检查存在的正确方法吗?

nsuserdefaults ios swift

72
推荐指数
6
解决办法
5万
查看次数

如何在swift中保存和读取NSUserdefaults中的数组数组?

我需要创建一个数组来添加这种格式的对象,如Swift中的字典:["key1":"value1","key2":"value2"]

当我尝试保存它时,NSUserDefaults一切都是正确的,但是当NSUserDefaults用键读取时这会崩溃.我的var obj需要什么类型的数据?

let def = NSUserDefaults.standardUserDefaults()
var key = "keySave"
var element: AnyObject!

var array1: [AnyObject!] = []
array1.append(["key1": "val1", "key2": "val2"])
array1.append(["key1": "val1", "key2": "val2"])

//save
var savestring : [AnyObject!]
savestring = array1
var defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(savestring, forKey: key)
defaults.synchronize()

//read
var obj: [AnyObject!] = []
if(obj != nil){
    print("size: ")
    print(obj.count) //vary long value confused..
    element = obj[0]  //crash
    print(element.objectForKey("key1"))
}
Run Code Online (Sandbox Code Playgroud)

nsuserdefaults swift xcode6

71
推荐指数
5
解决办法
8万
查看次数

将自定义对象保存到NSUserDefaults中

我有新闻ViewControllerTeamViewController.所述TeamViewController含有选择加入到阵列时teamObjects的的tableView.我想添加这个数组,NSUserDefaults所以我可以从NewsController包含url请求的地方访问它们,其中需要teamObjects.但是我一直得到:

'尝试为关键团队插入非属性列表对象("")

如果有更好的方法而不是存储它,我愿意接受其他建议 NSUserDefaults

didSelectRowAtIndexPath 方法

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    tableView.deselectRowAtIndexPath(indexPath, animated: true)


    let team = self.teamArray[indexPath.row] as Team
    var removed = false

    for (index, value) in enumerate(self.teamSelected) {
        if (value == team) {
            self.teamSelected.removeAtIndex(index)
            removed = true
        }
    }

    if (!removed) {
        self.teamSelected.append(team)
    }

    var userDefaults = NSUserDefaults.standardUserDefaults()
    userDefaults.setValue(self.teamSelected, forKey: "teams")
    userDefaults.synchronize()

    tableView.reloadData()
}
Run Code Online (Sandbox Code Playgroud)

我的目标

class Team: NSObject{
    var id: Int!
    var name: NSString!
    var …
Run Code Online (Sandbox Code Playgroud)

nsuserdefaults ios swift

67
推荐指数
2
解决办法
7万
查看次数