Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

Swift 2'ye geçerken karşılaştığım sorunlar

0 oy
62 kez görüntülendi
20, Eylül, 2015 ios development kategorisinde burhanaksendir tarafından soruldu
Swift 1.2'de gayet güzel çalışan kodlar Swift 2 ile birlikte tam bir kaosa dönüştü. Xcode 7 ve Swift 2 ile projemi güncellemek istedim. Bunun için de  Edit > Convert menüsü altındaki  To latest Swift Syntax'ı denedim. Ancak çoğu kodu düzeltemedi ve yüzlerce hata çıktı.

Bu başlık altında, Swift 1.2'de çalışan ancak Swift 2.0'dan itibaren çalışmayan kodlar için yardımlarınızı rica edeceğim. Böylelikle bu tarz sorunları yaşayan herkese de faydalı olur diye düşünüyorum.

1 -
var isTempDirectoryExist:Bool = false

if !isTempDirectoryExist {

            isTempDirectoryExist = NSFileManager.defaultManager().createDirectoryAtPath(tempDirectoryPath, withIntermediateDirectories: true, attributes: nil, error: nil)

        }
Hata: Cannot invoke 'createDirectoryAtPath' with an argument list of type '(String?, withIntermediateDirectories: Bool, attributes: NilLiteralConvertible, error: NilLiteralConvertible)'

1 cevap

+1 oy
21, Eylül, 2015 yasin tarafından cevaplandı
21, Eylül, 2015 burhanaksendir tarafından seçilmiş
 
En İyi Cevap

ben de bu aralar swift2'yle cebelleştiğim için sorularınıza biraz geç cevap verebilirim. peşinen özürdilerim.

ios9 ile beraber artık error handling için do, try, cactch, thrown block'u kullanmamız gerekiyor.
şöyleki;

do {
                try NSFileManager.defaultManager().createDirectoryAtPath(tempDirectoryPath, withIntermediateDirectories: true, attributes: nil)
            } catch let error as NSError {
                print("directory was not created with error:\(error.debugDescription)")
            }
21, Eylül, 2015 burhanaksendir tarafından yorumlandı
Süper olmuş bu gerçekten. Tam eski günlerdeki gibi try catch'i özlemiştim. Teşekkür ederim.
...