Разбор значений в запросе Get с параметрами формы

Ответ Shim выше не работает в Swift 4. Есть две вещи, о которых вы должны знать.

Прежде всего, если вы хотите использовать функцию value(forKey:), ваш класс должен наследовать NSObject.

Во-вторых, поскольку Objective-C ничего не знает о типе значения, вы должны поместить ключевое слово @objc перед вашими свойствами типа значения, а Swift сделает тяжелую работу для вас.

Вот пример:

import Foundation

class Person: NSObject {
    @objc var name: String = "John Dow"
    @objc var age: Int = 25
    @objc var height: Int = 180

    subscript(key: String) -> Any? {
        return self.value(forKey: key)
    }
}

let person: Person = Person()

person["name"] // "John Dow"
person["age"] // 25
person["height"] // 180
0
задан Troels Johannesen 25 February 2015 в 10:22
поделиться