Я хочу использовать класс CIDetector для обнаружения прямоугольников, но я не могу создать экземпляр этого класса. Я получаю сообщение об ошибке:iOS Swift: CIDetectorTypeRectangle не конвертируется
'(ofType: String, context: CIContext?, options: [String : AnyObject]?) -> CIDetector' is not convertible to '(ofType: String, context: CIContext?, options: [String : AnyObject]?) -> CIDetector?'
Я использую этот код:
private lazy var rectangleDetector: CIDetector? = {
let options: [String : AnyObject] = [
CIDetectorAccuracy: CIDetectorAccuracyHigh,
CIDetectorMinFeatureSize: 0.5,
CIDetectorAspectRatio: 0.7
]
return CIDetector(ofType: CIDetectorTypeRectangle, context: nil, options: options)
}()
Я использую XCode 8.2.1 и Swift 2.3. Не было никаких ошибок, когда я использовал его в XCode 7 с Swift 2.2. Кто-нибудь знает, что здесь не так?
Вы уверены, что используете Swift 2.3 или Swift 3? –
Да, я использую Swift 2.3, и я установил «Использовать устаревшую версию языка Swift» в YES. –
Попробуйте очистить сборку, потому что для меня она работает с Xcode 8 и Swift 2.3. Или если все еще не работает, добавьте еще код с ним. –