ios - обучение - swift скачать




Нет '|' кандидаты создают ожидаемый контекстный тип результата «NSTextStorageEditActions» (2)

Я просмотрел учебник по текстовому набору на raywenderlich.com и строку

edited(.EditedCharacters | .EditedAttributes, range: range, changeInLength: (str as NSString).length - range.length)

вызывает следующую ошибку:

No '|' candidates produce the expected contextual result type 'NSTextStorageEditActions'

Ошибка уходит, когда я меняю первый аргумент на:

edited(.EditedCharacters, range: range, changeInLength: (str as NSString).length - range.length)

Я также пытался использовать «OR» и «||» без каких-либо успехов.

Swift 2.2 и iOS 9.2


@dfri - это правильно. Чтобы проиллюстрировать другой пример использования трубы, «|», это когда выполняется автоматическое определение маски для UIImageView следующим образом:

imageView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight, ...]

Конечно, вы замените ... другими опциями UIViewAutoresizing .

Удачи!


Поместите их все в массив, как показано ниже:

вместо трубы

let timeDateComponents = calendar.components(NSCalendarUnit.Hour| NSCalendarUnit.Minute| NSCalendarUnit.Second, fromDate: NSDate())

попробуй это

let timeDateComponents = calendar.components([NSCalendarUnit.Hour, NSCalendarUnit.Minute, NSCalendarUnit.Second], fromDate: NSDate())