UserDefault在swift iOS中的新语法

Dan*_*iel 2 xcode nsuserdefaults ios swift

我正在尝试这样的代码:

the key "firstUseValue" exists?
if it does:
    is valueForKey("firstUseValue") true?
        print("USING FOR THE FIRST TIME")
        setValueForKey("firstUseValue", false)
    else
        print("I HAVE BEEN USED BEFORE")
if it doesn't:
    create bool for key "firstUseValue" with value true
    print("USING FOR THE FIRST TIME")
Run Code Online (Sandbox Code Playgroud)

但是由于NSUserDefault被改为UserDefaults(在swift中),我无法编写单行代码而没有编译错误(我无法理解).

如何正确使用UserDefaults编写此代码?

Ras*_*n L 5

斯威夫特2

// Set
NSUserDefaults.standardUserDefaults().setInteger(123, forKey: "key")
// Get
NSUserDefaults.standardUserDefaults().integerForKey("key")
Run Code Online (Sandbox Code Playgroud)

斯威夫特3

// Set
UserDefaults.standard.set(123, forKey: "key")
// Get
UserDefaults.standard.integer(forKey: "key")
Run Code Online (Sandbox Code Playgroud)

对于集合,您可以指定您需要的内容,Bool,String,Float等. 在此输入图像描述

  • 这不正确它会返回0.如果你需要知道键退出是否需要使用objectForKey方法 (3认同)
  • 这是真的,虽然他们删除了它,但@Daniel使用以下行`UserDefaults.standard.object(forKey:"key")`如果它返回`nil`它是空的. (2认同)