2016-12-02 12 views
0

Я работаю с Swift 3. В моем коде я использую интеграцию Siri в приложении Wallet. Я получаю сообщение об ошибке в этом приложении. Я искал в Google для этого, но я не нашел для него решения.Значение типа 'CGPoint' не имеет значения 'makeWithDictionaryRepresentation' в swift 3

Вот мой код:

func createPath(_ points: NSArray) -> UIBezierPath { 
     let path = UIBezierPath() 
     var point = CGPoint() 

     //CGPointMakeWithDictionaryRepresentation((points[0] as! CFDictionary), &point) 
     point.makeWithDictionaryRepresentation((points[0] as! CFDictionary)) // In this line I am getting an error 
     path.move(to: point) 

     var index = 1 
     while index < points.count { 

      //CGPointMakeWithDictionaryRepresentation((points[index] as! CFDictionary), &point) 
      point.makeWithDictionaryRepresentation((points[index] as! CFDictionary)) 
      path.addLine(to: point) 

      index = index + 1 
     } 
     path.close() 

     return path 
    } 

Здесь ошибка я получаю:

Значение типа 'CGPoint' не имеет ни одного члена 'makeWithDictionaryRepresentation'

Может ли кто-нибудь Пожалуйста, помогите мне решить это. Спасибо заранее.

+1

ошибка ясно говорит, что 'CGPoint' не имеет такого члена, как' makeWithDictionaryRepresentation'. Итак, как вы можете это установить или назвать? – Lion

+0

Обратитесь к [Apple doc] (https://developer.apple.com/reference/coregraphics/cgpoint/1455382-dictionaryrepresentation) – Lion

ответ

1

В Swift 3 вам необходимо использовать init CGPoint(dictionaryRepresentation:).

let point = CGPoint(dictionaryRepresentation:points[0] as! CFDictionary) 

Она возвращает дополнительный CGPoint экземпляр, долбить, чтобы использовать с if let или guard

if let point = CGPoint(dictionaryRepresentation:points[0] as! CFDictionary) { 
    print(point) 
} 

Регистрация компании Apple Документация по CGPoint для получения более подробной информации.

+0

Поблагодарите U так много. Он работает –

+0

@hrithib Приветствую вас, господин :) Также это тесто, если вы опционально un wrap в 'CFDictionary', используя' if let' вместо принудительной упаковки с помощью '!', это может привести к сбою, если он не конвертирует его в CFDictionary''. –

 Смежные вопросы

  • Нет связанных вопросов^_^