Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.
0 oy
305 kez görüntülendi
ios development kategorisinde tarafından
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
tarafından
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)")
            }
tarafından
Süper olmuş bu gerçekten. Tam eski günlerdeki gibi try catch'i özlemiştim. Teşekkür ederim.
...