Проблем с актуализацията на Xcode 7.0 със Swift 2

Току-що се сблъсках с проблем с моя проект, написан на Swift, когато актуализирах своя Xcode до най-новата версия; Xcode 7.0.

Xcode ми каза, че трябва да конвертирам кода си, за да работи с новия синтаксис на Swift (Swift 2).

Проблемът е, че не можах да разбера как да реша някои редове от кодове.

Като пример: използвам SwiftyJSON в моето приложение и Xcode ми дава тази грешка, която виждате по-долу:

public struct JSON {

    public init(data:NSData, options opt: NSJSONReadingOptions = .AllowFragments, error: NSErrorPointer = nil) {
        if let object: AnyObject = NSJSONSerialization.JSONObjectWithData(data, options: opt, error: error) {
            self.init(object)
        } else {
            self.init(NSNull())
        }
    }

person Mohammad Othman    schedule 25.09.2015    source източник
comment
Каква е грешката, която виждате?   -  person Tom Elliott    schedule 26.09.2015


Отговори (1)


Някои функции изпуснаха някои аргументи и в този случай указателя за грешка. вместо това хвърля (което означава, че можете да го извикате само с обработка на try catch). тук е swift 2.0 версия на вашия код

public struct JSON 
{

    public init(data:NSData, options opt: NSJSONReadingOptions = .AllowFragments, error: NSErrorPointer = nil) 
    {
        do {
            let object:AnyObject = try NSJSONSerialization.JSONObjectWithData(data, options: opt)
            self.init(data: object as! NSData)
        } catch {
            //error handling code
        }
    }
}
person Lukas    schedule 25.09.2015
comment
Палец нагоре ще бъде оценен ;) - person Lukas; 26.09.2015