iOS swift 字符串比较不相等
iOS swift strings do not compare as equal
我的应用程序中有以下代码
println("currentTitle : '" + btnDOW.currentTitle! + "'")
println("gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName: '" + gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName + "'")
if btnDOW.currentTitle!.uppercaseString != gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName.uppercaseString
{
//reload the data
GPSLocationChanged()
}
两条语句的println输出如下:
currentTitle : 'Wednesday'
gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName: 'Wednesday'
但是,在我的 if 语句中,这些值并不相等。我知道这是因为 GPSLocationChanged 行上的断点和断点总是命中。知道为什么吗?
所以我按如下方式更改了代码,现在它似乎可以工作了。
println("currentTitle : '" + btnDOW.currentTitle! + "'")
ls_WorkTitle = btnDOW.currentTitle!
println("gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName: '" + gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName + "'")
ls_WorkDOWName = gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName
//if btnDOW.currentTitle!.uppercaseString != gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName.uppercaseString
if ls_WorkTitle.uppercaseString != ls_WorkDOWName.uppercaseString
{
//reload the data
println("Dow Of Week Values are different")
GPSLocationChanged()
}
打印行和 if 语句之间的这些值中的任何一个都不应发生任何变化。为什么我有必要在比较之前将它们放入新变量中?这太荒谬了。
这是我第一次使用 IOS 开发,到目前为止,不得不说它几乎处于开发平台和语言图腾柱的底部 (Swift)。
我的应用程序中有以下代码
println("currentTitle : '" + btnDOW.currentTitle! + "'")
println("gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName: '" + gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName + "'")
if btnDOW.currentTitle!.uppercaseString != gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName.uppercaseString
{
//reload the data
GPSLocationChanged()
}
两条语句的println输出如下:
currentTitle : 'Wednesday'
gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName: 'Wednesday'
但是,在我的 if 语句中,这些值并不相等。我知道这是因为 GPSLocationChanged 行上的断点和断点总是命中。知道为什么吗?
所以我按如下方式更改了代码,现在它似乎可以工作了。
println("currentTitle : '" + btnDOW.currentTitle! + "'")
ls_WorkTitle = btnDOW.currentTitle!
println("gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName: '" + gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName + "'")
ls_WorkDOWName = gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName
//if btnDOW.currentTitle!.uppercaseString != gobj_DOWs[iobj_NearbyLocationsVM.DOWToUse].DOWName.uppercaseString
if ls_WorkTitle.uppercaseString != ls_WorkDOWName.uppercaseString
{
//reload the data
println("Dow Of Week Values are different")
GPSLocationChanged()
}
打印行和 if 语句之间的这些值中的任何一个都不应发生任何变化。为什么我有必要在比较之前将它们放入新变量中?这太荒谬了。
这是我第一次使用 IOS 开发,到目前为止,不得不说它几乎处于开发平台和语言图腾柱的底部 (Swift)。