使默认索引= 0
let defaults = NSUserDefaults.standardUserDefaults()
if !(defaults.objectForKey("LastIndex") != nil)
{
defaults.setObject(Int(0), forKey: "LastIndex")
}
然后尝试将此索引与随机数
进行比较 var randomIndex: Int = 0
let defaults = NSUserDefaults.standardUserDefaults()
let lastIndex: Int = Int(defaults.objectForKey("LastIndex"))
while randomIndex != lastIndex
{
randomIndex = Int(arc4random_uniform(UInt32(phrasesArray.count)))
}
但收到错误
答案 0 :(得分:1)
我找到了解决方案 - 这么简单,我甚至不喜欢。
parent.user = {
name: 'Baz',
email: 'baz@vue.com'
};
答案 1 :(得分:0)
如果你想存储Int
int NSUserDefaults
,你可以直接这样做:
NSUserDefaults.standardUserDefaults().setInteger(YourIntValue, forKey: "LastIndex")
让我更正你的一些代码。首先看一下这段代码:
let defaults = NSUserDefaults.standardUserDefaults()
if !(defaults.objectForKey("LastIndex") != nil)
{
defaults.setObject(Int(0), forKey: "LastIndex")
}
您在此处检查是否有值LastIndex
可用,但您可以直接创建一个Int值,而不是尝试使用此代码直接从内存中读取Int
:
let abc = NSUserDefaults.standardUserDefaults().integerForKey("LastIndex")
println(abc)
使用此代码,如果密钥LastIndex
没有值,则默认情况下它将设置为0
,因此如果没有任何内容,它将始终打印0
,因此您不需要检查它是否为nil
。
现在看看这段代码:
let lastIndex: Int = Int(defaults.objectForKey("LastIndex"))
在这里,您正在尝试将该关键字的值放在Int
,但是如果按照我的建议执行此操作,您可以直接获得Int
值,这样就可以让它变得简单:
let lastIndex = NSUserDefaults.standardUserDefaults().integerForKey("LastIndex")
这将始终返回Int,如果没有设置,则默认为0
。
您可以根据需要执行操作:
while randomIndex != lastIndex {
randomIndex = Int(arc4random_uniform(UInt32(phrasesArray.count)))
}
希望它会对你有所帮助。