2014-11-10 15 views
5
numaralı dizgideki değere sahip olup olmadığını kontrol edin

Belirtilen dizinde bir öğenin olup olmadığını kontrol etmem gerekiyor.Swift, dizinin

Conditional downcast from CGFloat to CGFloat always succeeds

Ben de birlikte çalıştı:

if let height = self.cellHeights[index] {} 

ancak bu da başarısız oldu:

Bound value in a conditional binding must be of Optional type 

herhangi bir fikir sorun ne Yukarıdaki kod çalışmıyor Ancak, yapı hatası alıyorum? Opsiyonel olmayan CGFloat içeren bir dizidir.

cevap

8

. Bu nedenle, herhangi bir öğesi, dizin varmış gibi sıfır olamaz, bu dizindeki öğe CGFloat'dur. aşağıdaki gibi

var cellHeights: [CGFloat?] = [CGFloat?]() 

ve bu durumda bağlayıcı isteğe bağlı kullanılmalıdır::

Ne yapmaya çalışıyorsun sen seçeneklere bir dizi oluşturmak mümkün yalnızca bir şeydir

if let height = cellHeights[index] { 
    cellHeights[index] = cell.frame.size.height 
} else { 
    cellHeights.append(cell.frame.size.height) 
} 

Optionals

hakkında tekrar okumanızı öneririm