创建选项变量时Swift代码错误

时间:2015-12-25 19:04:47

标签: ios iphone swift compiler-errors

var option = [NSObject : AnyObject]?.self
option = [CIDetectorSmile = true, CIDetectorEyeBlink = true, CIDetectorImageOrientation : 6]
  

错误:预期','分隔符

var features = faceDetector.featuresInImage(sourceImage, options: option)
  

错误:无法使用类型的参数列表调用'featuresInImage'('CIImage,options:[NSObject:AnyObject]?Type?)

如何解决编译错误?

1 个答案:

答案 0 :(得分:1)

featuresInImage具有以下签名:

func featuresInImage(_ image: CIImage, options options: [String : AnyObject]?) -> [CIFeature]

options属于[String : AnyObject]?类型。你的类型为[NSObject : AnyObject]?

解决方案:使用

var option : [String : AnyObject]? = [CIDetectorSmile : true, CIDetectorEyeBlink : true, CIDetectorImageOrientation : 6]

由于您实际上提供了始终供应选项,您甚至可以删除?

进一步说明

Expected ',' separator是由您在字典值声明中使用=:引起的,始终使用: