2015-12-10 2 views
0

У меня проблема с этими двумя функциями. Для FUNC 1:Программно автоматические функции компоновки

func constrainWidth(width: CGFloat) -> [NSLayoutConstraint] { 
    let constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:[item(width)]", metrics: ["width" : width], views: ["item" : self]) 
    self.superview?.addConstraints(constraints) 
    return constraints as! [NSLayoutConstraint] 
} 

Я получаю сообщение об ошибке в них есть проблемы с «ограничениями» и он говорит: «self.superview .addConstraints (ограничения)?»: не может преобразовать значение типа [Любой объект ] ожидаемого типа аргумента '[NSLayoutConstraint]

Вот FUNC 2:

class func constraintsWithVisualFormat(visualFormat: String, options: NSLayoutFormatOptions, views: [NSObject : AnyObject]) -> [AnyObject] { 
    return NSLayoutConstraint.constraintsWithVisualFormat(visualFormat, options: options, metrics: nil, views: views) 
} 

Я получаю сообщение об ошибке в «возвращение NSLayoutConstraint.constraintsWithVisualFormat (visualFormat, оп : параметры, метрики: nil, views: views) «у них есть проблема с« представлениями » , и он говорит: * Невозможно преобразовать значение типа [NSObject: AnyObject] 'в ожидаемый тип аргумента' [String: AnyObject] '

Эти функции не влияют друг на друга, мне просто нужна помощь с ними обоими. Раньше у меня не было этой проблемы, она просто появилась недавно, я считаю, из-за новой быстрой.

ответ

0

Для Func 1:

Существует параметр options отсутствует, она даже и не компилировать в моем XCode. Когда я добавляю параметр options, он компилирует & работает без проблем.

Для Func 2:

Это говорит именно то, что это неправильно - параметр сдаешь для представлений определяется как [NSObject : AnyObject], но он должен быть [String: AnyObject].

+0

Ваше Удивительное! Я получил func 1 для работы. Любые предложения о том, что я должен поставить для func 2? Я понял, что это будет строка, но я не уверен, что? или если мне нужно сделать просмотр словарем и иметь ключ и значение? @ TheEye –

+0

Ну, вы видите в func 1, что такое содержание словарей представлений - строковый ключ и объект вида. Определение параметра функции для словаря представлений должно быть [String: AnyObject]. – TheEye

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