2015-11-17 2 views
2

с помощью:
NSJSONWritingOptions объяснил

NSJSONSerialization.dataWithJSONObject(array, options: NSJSONWritingOptions(rawValue:2)) 

Можете ли вы сказать, что мед rawValue для?

+2

Одна из проблем, с RawValue, что нереализованные значения могут быть переданы в Намного лучше использовать имя параметра.. – zaph

ответ

5

Это rawValue бит происходит от OptionSetType, из которого NSJSONWritingOptions наследует.

Скорее всего, вы должны избегать, что в целом и вместо того, чтобы использовать стандартный Swift синтаксис перечислимую, который обеспечивает хороший короткий постоянное имя:

NSJSONSerialization.dataWithJSONObject(array, options: .PrettyPrinted) 

Edit:

не задавать параметры или несколько вариантов, которые вы могли бы использовать, верните обратно в rawValue синтаксис и вычислите значение самостоятельно, как в C, но более простой вариант - синтаксис в стиле массива ниже:

Чтобы указать никаких вариантов:

NSJSONSerialization.dataWithJSONObject(array, options: []) 

Чтобы объединить несколько вариантов:

NSJSONSerialization.JSONObjectWithData(data, options: [.MutableContainers, .MutableLeaves]) 
+0

для случая «без вариантов», вы можете просто оставить параметры param. Значение по умолчанию [] указывается в определении функции (в любом случае в Swift 3) –