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

Ограничения расширений протокола и значения по умолчанию в swift2
Итак, я играл с расширениями протокола и столкнулся с «интересной» проблемой. Я хотел написать тип единиц Meters и Kilometers для проверки некоторых вещей. ОЧЕНЬ легко сделать это как класс, в котором есть базовый класс, и оба подкласса...
1654 просмотров
schedule 10.12.2022

Каков правильный способ реализации свойств по умолчанию при реализации протоколов по умолчанию в Swift?
Я действительно очарован концепцией протокольно-ориентированного программирования в Swift, и поэтому я переношу старый проект, который я создал в прошлом году (который изначально был ООП-фреймворком), на POP. На данном этапе проблемы, с которыми я...
1552 просмотров
schedule 17.06.2023

Swift 2 Ошибка при использовании функции изменения в расширении протокола «Невозможно использовать изменяющийся член для неизменяемого значения: 'self' является неизменным
Не уверен, что здесь происходит, похоже, все должно быть довольно просто. У меня есть протокол, который изменяет var, расширение с функцией изменения. В testClass.testFunc дела идут плохо, когда я пытаюсь использовать mtkAnimQueAppend ,...
10809 просмотров

связанная ошибка соответствия протоколу swift 2.0
Мне известно об этом сообщении , в котором представлена ​​та же проблема, что и у меня, но оставшийся без ответа и старый, поэтому я решил обновить его здесь. //: Playground - noun: a place where people can play import UIKit protocol...
51 просмотров
schedule 04.10.2023

Swift: общие протоколы
У меня есть несколько быстрых структур, для которых соответствие протоколу создается с помощью отдельных расширений с одинаковыми именами методов, которые отличаются только типами возврата, которые зависят от структуры. Вдобавок к этому я хочу...
626 просмотров

Значение типа «X» не имеет члена «y» — необязательная функция в протоколе.
Я пытаюсь лучше понять протоколы в Swift. В частности, необязательные методы протокола. Я думал, что проблема может быть связана с тем, что мой протокол определяется/используется в другом файле, но если вы поместите следующее на игровую площадку, вы...
6012 просмотров
schedule 15.07.2023

Как составить список протоколов, которым соответствует объект?
Используя среду выполнения Objective-C, я могу получить список всех @objc протоколов, которым соответствует объект: let obj = NSObject() var pc: UInt32 = 0 let plist = class_copyProtocolList(object_getClass(obj), &pc)...
1319 просмотров

Swift: расширение последовательностей с помощью общего элемента
В Swift можно расширить последовательность, содержащую элементы определенного типа, например: extension SequenceType where Generator.Element == Rect { func intersection() -> Rect? { ... } } // when using let intersection = [rect1, rect2,...
46 просмотров

увидеть, почему тип не соответствует протоколу в Xcode (swift)
У меня часто есть относительно сложные протоколы с ограничениями ассоциированного типа, они используются в универсальных шаблонах, используются расширениями типов CoreData и т. Д. Поэтому я относительно часто получаю сообщение об ошибке: Type .. does...
11860 просмотров
schedule 07.05.2022

В чем разница между объявлением протокола @objc и его соответствием NSObjectProtocol в чистом Swift?
Рассмотрим два протокола Swift: @objc protocol SomeProtocol { } protocol SomeOtherProtocol: NSObjectProtocol { } В чем разница между объявлением протокола Swift @objc или его соответствием NSObjectProtocol ? Я знаю, что любой протокол,...
669 просмотров

Можно ли создать расширение только для класса для протокола?
Использование протокола только для класса мне ясно. Я знаю, что могу сделать что-то вроде: protocol HashableClass: class, Hashable {} Но мне интересно, можно ли создать расширение только для класса: extension Hashable: class {} /...
302 просмотров
schedule 23.08.2023

Функция, которая принимает в качестве параметров протокол и соответствующий экземпляр класса (!)
Я пытаюсь понять, как определить функцию, которая принимает следующие два параметра: Протокол. Экземпляр класса ( ссылочный тип ), соответствующий этому протоколу. Например, учитывая protocol P { } class C : P { } // Class,...
744 просмотров
schedule 29.03.2022

Как обеспечить реализацию протокола Objective-C по умолчанию в расширении протокола Swift
В моем коде я имею в виду протокол, написанный на Objective-C, в другом протоколе, написанном на Swift, вот так: // Objective-C @protocol C - (void)c; @end //Swift protocol A { var a : UIView { get } } extension A where Self: C { var a :...
793 просмотров
schedule 06.01.2023

Общий механизм диспетчеризации, использующий тест и селектор на соответствие протоколу во время выполнения.
Итак, я делаю игру SpriteKit и хочу пересылать события update , mouseDown , keyDown и т. д., которые вызываются в GameScene , дочерним элементам этой сцены, при условии, что они являются пользовательским подклассом SKNode, который имеет...
79 просмотров
schedule 09.06.2023

Протокол, соединяющий NSMutableSet и NSMutableOrderedSet вместе
В Swift 3 я хотел бы иметь возможность создать протокол, который позволяет мне добавлять элементы и выполнять итерации с использованием for element in . Протокол должен работать как с NSMutableSet , так и с NSMutableOrderedSet (поскольку они не...
248 просмотров

Расширение протокола для реализации другого поведения
Быстрый вопрос, скажем, например, у вас есть протокол Bark: protocol MakeSound { func bark() } Суперкласс Dog, реализующий лай и плавание: class Dog: MakeSound { } Затем различные типы собак, которые расширяют это: class...
1751 просмотров

Swift 3. Приведите Any к классу, который соответствует определенному протоколу
У меня есть случайный протокол в качестве примера protocol testP { init(param1: String) } И у меня есть класс, который принимает Any в качестве параметра, например: class testC { var aClass: Any } Как я могу проверить,...
548 просмотров
schedule 29.01.2023

Возможна ли реализация по умолчанию переменной get-set в расширении протокола?
Можно ли создать переменную в протоколе (реализация по умолчанию)? В частности, у меня есть переменная, требуемая протоколом, как: protocol SearchHandlingDelegate: class { ... var lastSearchTerm: String { get set } ... } и...
774 просмотров
schedule 27.06.2023

Необщий протокол, используемый в качестве конкретного типа, не соответствует самому себе
Я добрался до этого странного ограничения компилятора в Swift 3.1, проверенном на игровой площадке. Любое решение? Похоже на ошибку компилятора, предложения? Спасибо :)
298 просмотров
schedule 03.02.2023

Быстрый typealias с проблемой протокола
Я хочу иметь тип UIView, который соответствует моему пользовательскому протоколу. Я пытаюсь сделать это так, но Xcode говорит, что это неправильное объявление: typealias ViewThatConformsToProtocol = UIView: MyCustomProtocol и это тоже не...
1073 просмотров
schedule 04.01.2023