2016-03-26 19 views
0

Bir nesneyi kendi sınıfına nasıl ekleyebilirim? Bunun yerine bu yazıNesne kendi sınıfına nasıl dökülür?

: işlev özel bir UITableViewCell döndürür

return object as! object.class // which does not work 
+1

İşlevinizin dönüş türü nedir? – dasblinkenlight

+0

İşlev, özel bir UITableViewCell döndürür. TableView işlevi (cellForRowAtIndexPath ...). Aslında bu, kötü kod tasarımı gibi kokuyor, bu yüzden de clearify: Tablo görünümü dizisini kullanıyor ve özel UITableViewCell sınıflarına yayınlamak zorunda. – Manuel

+1

Tüm nesneler "UITableViewCell" alt sınıflarıysa, gerçek türden bağımsız olarak "AnyObject" öğesini "UITableViewCell" olarak atayabilirsiniz. – dasblinkenlight

cevap

2

:

switch object { 
    case is ClassA: 
     return object as! ClassA 

    case is ClassB: 
     return object as! ClassB 
    } 

ben gibi kısa form için arıyorum. [...] tablo görünümü gerçek türünden bağımsız olarak, UITableViewCell için AnyObject döküm olabilir, bir dizi <AnyObject> kullanır ve tüm nesneler UITableViewCell alt sınıfları özel olduğundan geleneğine UITableViewCell sınıfları

dökmeyi vardır. Bu yeterli olmalıdır, çünkü UITable, UITableViewCell taban türünün ötesindeki türü bilmemize gerek yoktur.

İlgili konular