tldr; Swift 3: Po prostu pomiń opcje i wszystko będzie dobrze.
JSONSerialization.jsonObject(with: data)
Objaśnienie:
w szybkim 3, wywołanie funkcji jest
class func jsonObject(with data: Data, options opt: JSONSerialization.ReadingOptions = []) throws -> AnyObject
ReadingOptions to zestaw opcji, nagłówek dla protokołu Option Set ma
/// When you need to create an instance of an option set, assign one of the
/// type's static members to your variable or constant. Alternately, to create
/// an option set instance with multiple members, assign an array literal with
/// multiple static members of the option set. To create an empty instance,
/// assign an empty array literal to your variable.
///
/// let singleOption: ShippingOptions = .priority
/// let multipleOptions: ShippingOptions = [.nextDay, .secondDay, .priority]
/// let noOptions: ShippingOptions = []
option set docs are here
który oznacza, że można zadzwonić
JSONSerialization.jsonObject(with: data, options: [])
jednak opcje już jest domyślnym [] zdefiniowane w definicji funkcji, więc można pominąć go w całości i nazywają
JSONSerialization.jsonObject(with: data)
To wydaje się działać może, możesz wskazać mi jakąkolwiek dokumentację dotyczącą tego, dlaczego mogę przekazać [] kiedy oczekuje wyliczenia? – markdb314
@ markdb314 Właśnie szukałem linku do dokumentu, daj mi sekundę. – luk2302
@ markdb314 Niestety nie mogę znaleźć żadnego dokumentu, dlaczego to działa, ale możesz być pewny, że to jest droga, spójrz na inną odpowiedź, gdzie opcje mają być podane i [] jest przekazywane. Chyba ma coś do zrobić z 'RawOptionSetType', który ** struct ** (nie wylicza)' NSKeyValueObservingOptions' jest zgodny z -> http://nshipster.com/rawoptionsettype/ – luk2302