2016-03-23 36 views
4

Swift 2.2 hemen hemen tüm kodlarımı kırdı. Hatta etikete atama bu basit dize artık çalışmıyor:Swift 2.2 isteğe bağlı/isteğe bağlı istekleri keser

cell.categoryName.text = peopleArray![indexPath.row]["Name"] as? String 

hata gelen "mahzun diyor 'dize ?!' 'String' sadece isteğe bağlı istemcileri, '!!' kullanmak istedin mi? "

Şimdi ne yapmak zorundayım?

DÜZENLEME:

Daha Sorunlar:

if (dict["data"]!["DataDetails"] as! NSArray).count == 0 { 
} 

Buna ben bir segment hataya alıyorum ve hata bunu gösterir nedeniyle: uyarı: gelen döküm 'dize ?!' Ben NSDictionaries kullanıyordum

görünüyor benim sınıflarında NSArrays soruna yol açacak: ilişkisiz türü 'NSArray' her zaman

GÜNCELLEME başarısız olur. Obj-C'den tüm edebi şeyleri çabucak değiştirmek, kodun düzgün çalışmasını sağladı. Bu yüzden, diğer geliştiricilerin hızlı değişmezleri tercih etmelerini de önereceğim.

+2

'peopleArray kullanın! ["Name" ] gibi! Dize '.. ama ben önermek kuvvet istemiyorsanız kullanmayın .. –

+0

Swift 2.2 isteğe bağlı çıkarımların türüne göre bir regresyon varsa kullanın - sorun şu olabilir: http://stackoverflow.com/questions/ 36160934/type-of-option-in-surused-swatch-in-swift-2-hızlı-2-2 – svrs

+0

'peopleArray' –

cevap

0

o kadar nasıl bağlı tipleri

örn

let dic:NSDictionary? = ["a":"a"] 

let str:NSString? = dic!["a"] as? NSString 

let dic2:Dictionary? = ["b":"b"] 

let str2:String? = dic2!["b"] //dont need to do any casting, already optional 

print(str) 
print(str2) 

baskılar

Optional(a) 
Optional("b") 

... hızlı türleri ve objektif-c NS kullanarak bazı küçük farklar bulunur görünüyor dizininiz/sözlüğünüz tanımlandıysa, farklı casting/unwrapping

+0

Hayır nasıl çalıştığını yazabilir misiniz? Ama eğer peopleArray kullanıyorum! ["Name"] !! String olarak çalışır, ancak bu isteğe bağlı olmasını istiyorum. –

+0

'peopleArray' nedir? – Fonix

+0

NSMutableArray –

İlgili konular