2015-12-25 62 views
0
var option = [NSObject : AnyObject]?.self 
option = [CIDetectorSmile = true, CIDetectorEyeBlink = true, CIDetectorImageOrientation : 6] 

Error: Expected ',' separator斯威夫特代碼錯誤而產生的選項變量

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

Error: Cannot invoke 'featuresInImage' with an argument list of type ('CIImage, options: [NSObject : AnyObject]?Type?)

我怎樣才能解決編譯錯誤?

回答

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是由您的=,並在字典中值聲明:使用引起的,總是用:

+0

關於「一行上的連續語句必須用'來區分';' 「錯誤? 這是什麼意思? – Vivek

+0

@Vivek以前是那裏還是現在發生?如果它之前在那裏,那麼編譯器會對':'和'='的使用感到困惑 – luk2302