Varsayalım UICollectionViewCell ve aynı özelliklere sahip bir UITableViewCell var. Bu hücreleri dolduran iki işlevden ziyade, bir şey alan bir jenerik alabilir miyim, ne olduğunu belirledikten sonra geri dönmeden önce eylemleri gerçekleştirmek için doğru şeye mi çevirebilirim?Genel bir hızlı işlevde tür dökümleme
benim düşünce geçerli:
func setUpCell<T>(event: Event, cell:T) -> T {
// figure out what T is and cast it
cell.event.bar = event.bar
return cell
}
bu kod tekrarına büyük miktarda kaçınmanın iyi bir yoldur?
Daha fazla bilgi gerekli, hangi sınıf foo? SeperatorInset', 'event',' bar' özelliklerinde nerede bulunuyorsunuz? Örneğini genişletmelisin. – ColGraff
Foo nedir? Aynı işlemleri iki farklı türde gerçekleştirmek istiyorsanız, bazı arayüzleri paylaşmak zorundadırlar, örn. Aynı protokolü benimsemek, aynı süper sınıfın alt sınıfları vb. – Sulthan
foo, sadece bir örnek, sahip olduğum şey, UITableViewCell ve UICollectionViewCell alt sınıflarıyla aynı özelliklere sahip ve aynı şekilde çok fazla ayarlanması gerekiyor. Ben iki ayrı fonksiyon yazabilirim ama generiklerin bunu yapmanın başka bir yolu olabileceğini düşündüm – Md1079