Документация говорит, что это просто ярлык для создания свойств readonly. Таким образом,
@property
def x(self):
return self._x
эквивалентно
def getx(self):
return self._x
x = property(getx)
В Swift 3
let data = string.data(using: .utf8)
В Swift 2 (или если у вас уже есть экземпляр NSString
)
let data = string.dataUsingEncoding(NSUTF8StringEncoding)
В Swift 1 (или если у вас есть быстрый String
):
let data = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)
Также обратите внимание, что data
является Optional<NSData>
(поскольку преобразование может завершиться неудачно), поэтому вам нужно будет разверните его перед его использованием, например:
if let d = data {
println(d)
}
Создание объекта Data
из объекта String
было изменено в Swift 3. Правильная версия теперь:
let data = "any string".data(using: .utf8)
Здесь очень простой метод
let data = string.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
Swift 4
let data = myStringVariable.data(using: String.Encoding.utf8.rawValue)
// Checking the format
var urlString: NSString = NSString(data: jsonData, encoding: NSUTF8StringEncoding)
// Convert your data and set your request's HTTPBody property
var stringData: NSString = NSString(string: "jsonRequest=\(urlString)")
var requestBodyData: NSData = stringData.dataUsingEncoding(NSUTF8StringEncoding)!
Optional<NSData>
, который необходимо развернуть перед использованием – Gabriele Petronella 21 September 2014 в 17:57