这是我的代码:
func onDoubleTap(sender:AnyObject) {
var StringBool = Swapper.getSwapperValue
if StringBool == "false"{...}
Swapper
是另一个类,子类NSObject
。 getSwapperValue
是函数,它返回变量的false
值。但是使用此代码,我收到错误:Binary operator '==' cannot be applied to operands of type 'Swapper -> () -> NSString' and 'String'
答案 0 :(得分:1)
查看错误消息
'Swapper -> () -> NSString' and 'String'
==
右侧的类型是String
,左侧的类型是Swapper -> () -> NSString
,它是一种函数类型 - 不是任何类型的字符串。 Swift中的函数是第一类类型,这意味着你可以像普通变量一样对待它们,我的猜测是你正在做的事情 - Swapper.getSwapperValue
是一个函数而不是属性。试着写
var stringBool = Swapper.getSwapperValue()
或者如果Swapper是一个类而且getSwapperValue
不是类函数
var stringBool = Swapper().getSwapperValue()
答案 1 :(得分:0)
所以,我在这里解决了我的问题:
我在NSObject类中创建了一个名为 swapper1 的变量。
这是我的代码:var swapa = Swapper().swapper1
并转换相同。
答案 2 :(得分:-1)
var sObj:Swapper = Swapper.new();
var StringBool = sObj.swapperValue;
if StringBool == false{ // this should be bool value not string
println("false");
}else{
println("true");
}