Кэшируются метатеги приложения Facebook?

Я также написал небольшую библиотеку, которая специализирована для отображения ответа json в структуру объекта. Я внутренне использую библиотеку json-swift от Дэвида Оуэнса. Возможно, это полезно для кого-то другого.

https://github.com/prine/ROJSONParser

Пример Employees.json

{
"employees": [
  {
    "firstName": "John",
    "lastName": "Doe",
    "age": 26
  },
  {
    "firstName": "Anna",
    "lastName": "Smith",
    "age": 30
  },
  {
    "firstName": "Peter",
    "lastName": "Jones",
    "age": 45
  }]
}

В качестве следующего шага вам необходимо создать свою модель данных (EmplyoeeContainer и Employee).

Employee.swift

class Employee : ROJSONObject {

    required init() {
        super.init();
    }

    required init(jsonData:AnyObject) {
        super.init(jsonData: jsonData)
    }

    var firstname:String {
        return Value.get(self, key: "firstName")
    }

    var lastname:String {
        return Value.get(self, key: "lastName")            
    }

    var age:Int {
        return Value.get(self, key: "age")
    }
}

EmployeeContainer.swift

class EmployeeContainer : ROJSONObject {
    required init() {
        super.init();
    }

    required init(jsonData:AnyObject) {
        super.init(jsonData: jsonData)
    }

    lazy var employees:[Employee] = {
        return Value<[Employee]>.getArray(self, key: "employees") as [Employee]
    }()
}

Затем, чтобы на самом деле отобразить объекты из ответа JSON, вам нужно передать данные в класс EmployeeContainer в качестве параметра в конструкторе , Он автоматически создает вашу модель данных.

 var baseWebservice:BaseWebservice = BaseWebservice();

  var urlToJSON = "http://prine.ch/employees.json"

  var callbackJSON = {(status:Int, employeeContainer:EmployeeContainer) -> () in
    for employee in employeeContainer.employees {
      println("Firstname: \(employee.firstname) Lastname: \(employee.lastname) age: \(employee.age)")
    }
  }

  baseWebservice.get(urlToJSON, callback:callbackJSON)

Выход консоли выглядит следующим образом:

Firstname: John Lastname: Doe age: 26
Firstname: Anna Lastname: Smith age: 30
Firstname: Peter Lastname: Jones age: 45

0
задан Joshua Sanchez 25 February 2015 в 07:26
поделиться