Pytania otagowane jako swift-protocols

Protokoły specyficzne dla języka Swift





2
Co oznacza „Protokół… może być używany tylko jako ogólne ograniczenie, ponieważ ma własne lub związane z nim wymagania”?
Próbuję utworzyć słownik (właściwie HashSet ) z kluczem niestandardowym w Swift, ale w tytule pojawia się błąd: Protokół „myProtocol” może być używany tylko jako ograniczenie ogólne, ponieważ ma wymagania typu Self lub powiązane i nie mogę zrobić z tego głów ani ogonów. protocol Observing: Hashable { } var observers = …

5
Protokół może być używany tylko jako ograniczenie ogólne, ponieważ ma wymagania własne lub związane z typem
Mam protokół RequestType i ma skojarzony model typu, jak poniżej. public protocol RequestType: class { associatedtype Model var path: String { get set } } public extension RequestType { public func executeRequest(completionHandler: Result<Model, NSError> -> Void) { request.response(rootKeyPath: rootKeyPath) { [weak self] (response: Response<Model, NSError>) -> Void in completionHandler(response.result) guard …

3
Metoda inna niż „@ objc” nie spełnia opcjonalnego wymagania protokołu „@objc”
Przegląd: Mam protokół P1, który zapewnia domyślną implementację jednej z opcjonalnych funkcji Objective-C. Kiedy podam domyślną implementację opcjonalnej funkcji, pojawia się ostrzeżenie Ostrzeżenie kompilatora: Non-'@objc' method 'presentationController(_:viewControllerForAdaptivePresentationStyle:)' does not satisfy optional requirement of '@objc' protocol 'UIAdaptivePresentationControllerDelegate' Wersja: Szybki: 3 Xcode: 8 (wydanie publiczne) Podjęte próby: Próbowałem dodać, @objcale to nie …


5
Jak w języku Swift mogę zadeklarować zmienną określonego typu, która jest zgodna z co najmniej jednym protokołem?
W Swift mogę jawnie ustawić typ zmiennej, deklarując ją w następujący sposób: var object: TYPE_NAME Jeśli chcemy pójść o krok dalej i zadeklarować zmienną, która jest zgodna z wieloma protokołami, możemy użyć protocoldeklaratywnego: var object: protocol<ProtocolOne,ProtocolTwo>//etc A co jeśli chciałbym zadeklarować obiekt, który jest zgodny z jednym lub kilkoma protokołami, …

4
„Błąd krytyczny: nie można mostkować tablicy z Objective-C” - Dlaczego w ogóle próbujesz, Swift?
Deklarowałem protokół Swift: protocol Option { var name: String { get } } Deklaruję wiele implementacji tego protokołu - niektóre klasy, niektóre wyliczenia. Mam kontroler widoku z właściwością zadeklarowaną jako tak: var options: [Option] = [] Kiedy próbuję ustawić tę właściwość na tablicę obiektów, które implementują Optionprotokół w innym VC …


9
Funkcja protokołu zwracająca Self
Mam protokół P, który zwraca kopię obiektu: protocol P { func copy() -> Self } i klasa C, która implementuje P: class C : P { func copy() -> Self { return C() } } Jednak czy umieszczę wartość zwracaną, gdy Selfotrzymam następujący błąd: Nie można przekonwertować wyrażenia zwrotnego typu …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.