Вопросы по теме '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 просмотров
schedule
18.05.2024
связанная ошибка соответствия протоколу swift 2.0
Мне известно об этом сообщении , в котором представлена та же проблема, что и у меня, но оставшийся без ответа и старый, поэтому я решил обновить его здесь.
//: Playground - noun: a place where people can play
import UIKit
protocol...
51 просмотров
schedule
04.10.2023
Swift: общие протоколы
У меня есть несколько быстрых структур, для которых соответствие протоколу создается с помощью отдельных расширений с одинаковыми именами методов, которые отличаются только типами возврата, которые зависят от структуры. Вдобавок к этому я хочу...
626 просмотров
schedule
12.07.2022
Значение типа «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 просмотров
schedule
02.01.2023
Swift: расширение последовательностей с помощью общего элемента
В Swift можно расширить последовательность, содержащую элементы определенного типа, например:
extension SequenceType where Generator.Element == Rect {
func intersection() -> Rect? { ... }
}
// when using
let intersection = [rect1, rect2,...
46 просмотров
schedule
27.07.2022
увидеть, почему тип не соответствует протоколу в Xcode (swift)
У меня часто есть относительно сложные протоколы с ограничениями ассоциированного типа, они используются в универсальных шаблонах, используются расширениями типов CoreData и т. Д. Поэтому я относительно часто получаю сообщение об ошибке: Type .. does...
11860 просмотров
schedule
07.05.2022
В чем разница между объявлением протокола @objc и его соответствием NSObjectProtocol в чистом Swift?
Рассмотрим два протокола Swift:
@objc protocol SomeProtocol { }
protocol SomeOtherProtocol: NSObjectProtocol { }
В чем разница между объявлением протокола Swift @objc или его соответствием NSObjectProtocol ? Я знаю, что любой протокол,...
669 просмотров
schedule
25.07.2023
Можно ли создать расширение только для класса для протокола?
Использование протокола только для класса мне ясно. Я знаю, что могу сделать что-то вроде:
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 просмотров
schedule
28.02.2023
Расширение протокола для реализации другого поведения
Быстрый вопрос, скажем, например, у вас есть протокол Bark:
protocol MakeSound {
func bark()
}
Суперкласс Dog, реализующий лай и плавание:
class Dog: MakeSound {
}
Затем различные типы собак, которые расширяют это:
class...
1751 просмотров
schedule
27.06.2023
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