weaki riferimenti non sembrano funzionare in Swift a meno che non protocolvenga dichiarato come @objc, cosa che non voglio in un'app Swift pura. Questo codice genera un errore di compilazione ( weaknon può essere applicato a un tipo non di classe MyClassDelegate): class MyClass { weak var delegate: MyClassDelegate? } …
Voglio creare una classe in grado di memorizzare oggetti conformi a un determinato protocollo. Gli oggetti devono essere archiviati in un array tipizzato. Secondo i protocolli di documentazione Swift possono essere utilizzati come tipi: Poiché è un tipo, è possibile utilizzare un protocollo in molti luoghi in cui sono consentiti …
Perché questo codice Swift non viene compilato? protocol P { } struct S: P { } let arr:[P] = [ S() ] extension Array where Element : P { func test<T>() -> [T] { return [] } } let result : [S] = arr.test() Il compilatore dice: "Tipo Pnon conforme …
Sto provando a creare un dizionario (in realtà un HashSet ) codificato su un protocollo personalizzato in Swift, ma mi sta dando l'errore nel titolo: Il protocollo "myProtocol" può essere utilizzato solo come vincolo generico perché ha requisiti di tipo Self o associati e non posso farne testa né croce. …
Panoramica: Ho un protocollo P1 che fornisce un'implementazione predefinita di una delle funzioni opzionali Objective-C. Quando fornisco un'implementazione predefinita della funzione opzionale, viene visualizzato un avviso Avviso del compilatore: Non-'@objc' method 'presentationController(_:viewControllerForAdaptivePresentationStyle:)' does not satisfy optional requirement of '@objc' protocol 'UIAdaptivePresentationControllerDelegate' Versione: Rapido: 3 Xcode: 8 (versione pubblica) Tentativi effettuati: …
Ho un protocollo RequestType e ha un modello di tipo associato come di seguito. 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>) -> …
In Swift posso impostare esplicitamente il tipo di una variabile dichiarandolo come segue: var object: TYPE_NAME Se vogliamo fare un ulteriore passo avanti e dichiarare una variabile conforme a più protocolli, possiamo usare il protocol dichiarativo: var object: protocol<ProtocolOne,ProtocolTwo>//etc E se volessi dichiarare un oggetto conforme a uno o più …
La documentazione Swift dice che le classi , le strutture e le enumerazioni possono essere tutte conformi ai protocolli e posso arrivare a un punto in cui sono tutte conformi. Ma non riesco a fare in modo che l' enum si comporti come gli esempi di classe e struttura : …
Ho dichiarato un protocollo Swift: protocol Option { var name: String { get } } Dichiaro più implementazioni di questo protocollo: alcune classi, alcune enumerazioni. Ho un controller di visualizzazione con una proprietà dichiarata in questo modo: var options: [Option] = [] Quando provo a impostare questa proprietà su un …
Esiste un modo standard per creare una "funzione virtuale pura" in Swift, ad es. uno che deve essere sovrascritto da ogni sottoclasse e che, se non lo è, causa un errore in fase di compilazione?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.