Ios nsuser默认保存int-简单修复
我得到的错误是Ios nsuser默认保存int-简单修复,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,我得到的错误是无法使用类型为“(()->(),Int)”的参数列表调用“>” 如果var score=0在score函数内,则该代码有效 我应该将此函数存储在何处才能工作,我计划制作一个按钮,当单击它时,myScore标签文本将更改为String(score),因此它将显示在分数上。我是新来的,所以放轻松:) Swift中的类型错误可能有点误导,但这一点是有意义的 无法使用类型为“(()->(),Int)”的参数列表调用“>” 意味着您不能使用类型为()->()的左侧值和类型为Int的右侧值调用
无法使用类型为“(()->(),Int)”的参数列表调用“>”
如果var score=0
在score函数内,则该代码有效
我应该将此函数存储在何处才能工作,我计划制作一个按钮,当单击它时,myScore
标签文本将更改为String(score)
,因此它将显示在分数上。我是新来的,所以放轻松:)
Swift中的类型错误可能有点误导,但这一点是有意义的 无法使用类型为“(()->(),Int)”的参数列表调用“>” 意味着您不能使用类型为
()->()
的左侧值和类型为Int
的右侧值调用
函数(是的,它是一个函数)
左侧是一个函数类型,它不接受任何参数,也不返回任何内容——您有一个名为score
的函数,它就是这样做的
编译器正在使用函数而不是同名的全局变量。您应该更改score()
函数的名称-无论如何,它都是模糊和不清楚的
您可能还希望将
score
变量设置为属性,而不是全局变量,但这是一个单独的问题,与此问题没有直接关系 Swift中的类型错误可能有点误导,但这一点是有意义的
无法使用类型为“(()->(),Int)”的参数列表调用“>”
意味着您不能使用类型为()->()
的左侧值和类型为Int
的右侧值调用
函数(是的,它是一个函数)
左侧是一个函数类型,它不接受任何参数,也不返回任何内容——您有一个名为score
的函数,它就是这样做的
编译器正在使用函数而不是同名的全局变量。您应该更改score()
函数的名称-无论如何,它都是模糊和不清楚的
您可能还希望将
score
变量设置为属性,而不是全局变量,但这是一个单独的问题,与此问题没有直接关系 Swift中的类型错误可能有点误导,但这一点是有意义的
无法使用类型为“(()->(),Int)”的参数列表调用“>”
意味着您不能使用类型为()->()
的左侧值和类型为Int
的右侧值调用
函数(是的,它是一个函数)
左侧是一个函数类型,它不接受任何参数,也不返回任何内容——您有一个名为score
的函数,它就是这样做的
编译器正在使用函数而不是同名的全局变量。您应该更改score()
函数的名称-无论如何,它都是模糊和不清楚的
您可能还希望将
score
变量设置为属性,而不是全局变量,但这是一个单独的问题,与此问题没有直接关系 Swift中的类型错误可能有点误导,但这一点是有意义的
无法使用类型为“(()->(),Int)”的参数列表调用“>”
意味着您不能使用类型为()->()
的左侧值和类型为Int
的右侧值调用
函数(是的,它是一个函数)
左侧是一个函数类型,它不接受任何参数,也不返回任何内容——您有一个名为score
的函数,它就是这样做的
编译器正在使用函数而不是同名的全局变量。您应该更改score()
函数的名称-无论如何,它都是模糊和不清楚的
您可能还希望将
score
变量设置为属性,而不是全局变量,但这是一个单独的问题,与此问题没有直接关系 您的函数名和该变量名相似。这就是为什么会出现此错误。
改变他们中的任何一个
还有,你为什么打电话来:
NSUserDefaults.standardUserDefaults().integerForKey("highscore")
您没有赋值或返回它,那么为什么要多次调用它呢
更改您的方法,如:
func highScore() -> Int
{
var highScore = NSUserDefaults.standardUserDefaults().integerForKey("highscore")
//Check if score is higher than NSUserDefaults stored value and change NSUserDefaults stored value if it's true
if score > highScore
{
NSUserDefaults.standardUserDefaults().setInteger(score, forKey: "highscore")
NSUserDefaults.standardUserDefaults().synchronize()
highScore = score
}
return highScore;
}
你的函数名和那个变量名是相似的。这就是为什么你会得到这个错误。 改变他们中的任何一个 还有,你为什么打电话来:
NSUserDefaults.standardUserDefaults().integerForKey("highscore")
您没有赋值或返回它,那么为什么要多次调用它呢
更改您的方法,如:
func highScore() -> Int
{
var highScore = NSUserDefaults.standardUserDefaults().integerForKey("highscore")
//Check if score is higher than NSUserDefaults stored value and change NSUserDefaults stored value if it's true
if score > highScore
{
NSUserDefaults.standardUserDefaults().setInteger(score, forKey: "highscore")
NSUserDefaults.standardUserDefaults().synchronize()
highScore = score
}
return highScore;
}
你的函数名和那个变量名是相似的。这就是为什么你会得到这个错误。 改变他们中的任何一个 还有,你为什么打电话来:
NSUserDefaults.standardUserDefaults().integerForKey("highscore")
您没有赋值或返回它,那么为什么要多次调用它呢
更改您的方法,如:
func highScore() -> Int
{
var highScore = NSUserDefaults.standardUserDefaults().integerForKey("highscore")
//Check if score is higher than NSUserDefaults stored value and change NSUserDefaults stored value if it's true
if score > highScore
{
NSUserDefaults.standardUserDefaults().setInteger(score, forKey: "highscore")
NSUserDefaults.standardUserDefaults().synchronize()
highScore = score
}
return highScore;
}
你的函数名和那个变量名是相似的。这就是为什么你会得到这个错误。 改变他们中的任何一个 还有,你为什么打电话来:
NSUserDefaults.standardUserDefaults().integerForKey("highscore")
您没有赋值或返回它,那么为什么要多次调用它呢
更改您的方法,如:
func highScore() -> Int
{
var highScore = NSUserDefaults.standardUserDefaults().integerForKey("highscore")
//Check if score is higher than NSUserDefaults stored value and change NSUserDefaults stored value if it's true
if score > highScore
{
NSUserDefaults.standardUserDefaults().setInteger(score, forKey: "highscore")
NSUserDefaults.standardUserDefaults().synchronize()
highScore = score
}
return highScore;
}
实际问题在哪里?
if score>NSUserDefaults.standardUserDefaults().IntegerWorkey(“highscore”)
触发它的是
@AdeLurrehman尝试在类似highscore
的变量中获取NSUserDefaults.standardUserDefaults().IntegerWorkey(“highscore”)
,并检查来自默认值的值是否正确。实际问题在哪里?如果分数>NSUserDefaults.standardUserDefaults().IntegerWorkey(“highscore”)
触发它的是
@adelurrehman尝试在变量(如highscore
中获取NSUserDefaults.standardUserDefaults().IntegerWorkey(“highscore”)
),并检查来自默认值的值是否正确。实际问题在哪里