Вопросы с тегом 'swift-extensions'

Расширения добавляют новые функции к существующему классу, структуре или типу перечисления.
18

Как определить дополнительные методы в протоколе Swift?

Возможно ли это в Swift? Если нет, то есть ли это обходное решение?
04 июн. '14 в 8:41
5

Переопределение методов в расширениях Swift

Я стараюсь только поместить необходимые вещи (хранимые свойства, инициализаторы) в свои определения классов и переместить все остальное в свой собственный extension, вроде как extension на каждый логический блок, который я бы группировал с // MARK: ...
05 июл. '16 в 21:44
4

Как создать быстрый класс для категории?

Я хочу создать категорию моего существующего класса swift, но в IDE нет возможности для этого. Любая идея, если категория существует в быстром проекте? Или как добиться аналогичной функциональности в быстром проекте?
10 июн. '14 в 13:52
6

Расширять типы массивов, используя предложение where в Swift

Я хотел бы использовать фреймворк Accelerate для расширения [Float] и [Double], но для каждого из них требуется другая реализация. Я пробовал очевидное: extension Array<Float> { } и получите эту ошибку: "Ограниченное расширение должно быт...
04 авг. '15 в 10:04
4

Может ли objective-c быстрый вызов кода для быстрого вызова класса?

Я искал некоторые сообщения, я думаю, что не могу написать расширение под swift и называть его кодом Objective-C, правильно? @objc как атрибуты поддерживают только методы, класс, протоколы?
24 нояб. '14 в 4:04
1

Swift 2 Ошибка при использовании функции mutating в расширении протокола "Нельзя использовать мутирующий элемент в неизменяемом значении:" self "неизменен

Не уверен, что происходит здесь, похоже, что это должно быть довольно прямолинейно. У меня есть протокол, который изменяет var, расширение с функцией mutating. Вещи вылезают в testClass.testFunc, когда я пытаюсь использовать mtkAnimQueAppend, объявле...
13 окт. '15 в 9:23
8

Как добавить необязательное расширение строки?

Вы можете создать расширение строки так: extension String { func someFunc -> Bool { ... } } но что, если вы хотите, чтобы оно применимо к необязательной строке? var optionalString :String? = "" optionalString!.someFunc() /* String? does no...
05 апр. '15 в 22:31
4

Вернуть тип instancetype в Swift

Я пытаюсь сделать это расширение: extension UIViewController { class func initialize(storyboardName: String, storyboardId: String) -> Self { let storyboad = UIStoryboard(name: storyboardName, bundle: nil) let controller = ...
18 окт. '15 в 16:00
5

Создание расширения для фильтрации нилей из массива в Swift

Я пытаюсь написать расширение для Array, которое позволит преобразовать массив необязательного T в массив не факультативных T. например. это можно записать как свободную функцию, например: func removeAllNils(array: [T?]) -> [T] { return arra...
28 янв. '15 в 11:05
4

Как определить инициализаторы в расширении протокола?

protocol Car { var wheels : Int { get set} init(wheels: Int) } extension Car { init(wheels: Int) { self.wheels = wheels } } на self.wheels = колеса я получаю ошибку Error: variable 'self' passed by reference before bei...
25 июн. '15 в 20:00
2

Можете ли вы переопределить между расширениями в Swift или нет? (Компилятор кажется смущенным!)

Я работаю над приложением iOS в Swift (большая часть его перемещается из Objective-C). Я использую Core Data и пытаюсь использовать расширения, чтобы добавить функциональность к классам, автоматически генерируемым из моей модели. Одно, что я легко с...
24 нояб. '14 в 16:03
2

Быстрое расширение: одна и та же функция расширения в двух модулях

Скажем, у меня есть Framework под названием SwiftKit, который имеет метод класса расширения UIView с именем someClassMethod и свойство с именем someProperty внутри него: // SwiftKit public extension UIView { class func someClassMethod() { ...
23 сент. '15 в 10:08
1

Swift "where" Расширения массива

С Swift 2.0 кажется, что мы можем приблизиться к расширениям типовых типов, применимых к предполагаемым ситуациям. Хотя мы все еще не можем этого сделать: protocol Idable { var id : String { get } } extension Array where T : Idable { ... }...
10 июн. '15 в 2:42
2

Переходите к типу с общим расширением Swift или в идеале выведите его

Скажите, что у вас class Fancy:UIView вы хотите найти все представления sibling Fancy. Нет проблем... for v:UIView in superview!.subviews { if let f = v as? Fancy { f.hungry = false } } Итак, попробуйте...
15 мая '16 в 15:25
2

Как сделать расширение для нескольких классов Swift

У меня есть расширение: extension UILabel { func animateHidden(flag: Bool) { self.hidden = flag } } Мне нужно сделать то же самое для UIImageView но я не хочу копировать весь этот код. Можно ли сделать расширение для нескольких кла...
19 июл. '16 в 16:40