转换为最新版本后,在swift中获取错误

时间:2015-07-29 11:28:48

标签: ios iphone swift

当我尝试将我的应用程序转换为最新的swift版本时,我在执行以下代码行时遇到错误:"Could not find overload for '==' that accept the supplied argument": 似乎问题是关于我的数组定义

var ArrayOne:NSArray!
ArrayOne = jpgArray.filterArrayUsingPredicate(NSPredicate(format: "self CONTAINS 'WATCH')) as NSArray!
    let array:Array = segmentControl?.selectedSegmentIndex==0 ? ArrayOne! : segmentControl?.selectedSegmentIndex==1 ? arrayTwo! : arrayThree!

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

尝试

let array:Array = (segmentControl?.selectedSegmentIndex == 0) ? arrayOne! : (segmentControl?.selectedSegmentIndex == 1) ? arrayTwo! : arrayThree!

答案 1 :(得分:0)

您必须确保在右侧位置有空格:

let array:Array = segmentControl?.selectedSegmentIndex==0 ? arrayOne! : segmentControl?.selectedSegmentIndex==1 ? arrayTwo! : arrayThree!

这意味着:

  • ==0
  • 之后的一个空格
  • arrayOne !
  • 中没有空格