Wie kann ich eine generische Klasse mit generischen Parametern in Swift erstellen?

  1. letztes Jahr

    Hallo Leute,

    ich habe bisher meine Apps mit Xamarin und C# entwickelt und wollte mich nun dazu aufraffen Swift zu lernen.
    Allerdings hänge ich nun bei generischen Klassen fest :(

    Original C# Mono Code:

    public class MyCell<TModel> : UITableViewCell where TModel : class  
        {  
            private TModel Model { get; set; }  
        }   
      
        public class MyViewController : UIViewController { }   
      
        public class MyTableViewSource<TModel, TViewController, TCell> : UITableViewSource  
            where TModel : class  
            where TViewController : MyViewController  
            where TCell : MyCell<TModel>  
        {  
        }  


    Mein versuch sieht so aus:

    public class MyTableViewCell<TModel:NSObject>: UITableViewCell  
    {  
      var Model: TModel?  
    }  
      
    public class MyTableViewSource<TModel:NSObject, TCell: UITableViewCell where TCell: MyTableViewCell<TModel>>: NSObject, UITableViewDataSource  
    {  
      
    }  


    aber ich bekomme diesen Fehler:
    Error:(14, 95) superclass constraint 'MyTableViewCell<TModel>' cannot depend on a type parameter

    Geht das überhaupt mit Swift?

  2. Ich glaube public class MyTableViewSource<TModel:NSObject, TCell:MyTableViewCell<TModel>>: NSObject, UITableViewDataSource funktioniert

 

oder registriere Dich, um zu antworten!