2014-07-27 26 views
7

Listedeki herhangi bir öğeyi denetlemek için tüm işlevleri python'dan hızlı bir şekilde kopyalamaya çalışıyorum, ancak listedeki herhangi bir öğeyi denetlemeyi deniyorum, ancak isteğe bağlı olarak zor bir zaman geçiriyorum öğeler. Nedense ben bir isteğe bağlı dize (örneğin string) gönderebilir ve olsa bile o hala dışarıda değil fonksiyonun yaptığı bir if açıklamada, aracılığıyla geçer nil öyle söylüyor. Bu veya bunu yapmanın başka bir yolu nasıl başa hakkında herhangi bir tavsiye? Teşekkürler!Genel bir türün Swift'de sıfır olup olmadığını nasıl kontrol edebilirim?

cevap

2

Tam olarak test etmeye çalıştığınız şey tam olarak belli değil, ama belki bu yardımcı olacaktır.

işlev için parametre Ayrıca doğrudan nil elemanları karşılaştırmak yararlı olabilir seçeneklere [T?]

bir dizi olmalıdır. Karşılaştırma, filter işlevinin kullandığı gibi bir kapanmaya kadar soyutlanabilir.

func all<T>(array: [T?]) -> Bool { 
    for element in array { 
     if element==nil { 
      return false 
     } 
    } 
    return true 
} 
İlgili konular