Это, кажется, правильный код для меня, но это не разворачивать кортежБерем кортеж в быстром
func updateUserDefaults<T>(data:T) {
if let data = data as? (String, Any) {
println(data.1)
}
}
updateUserDefaults(("loop", true))
моя цель состоит, чтобы сделать это родовое сеттер для NSUserDefaults. Причина, почему я использовать родовое так я могу передать его легко в моем реактивном коде как следует (рядом ожидает функция Т ->():
loop.producer |> map { ("loop", $0) } |> start(next: updateUserDefaults)
UPDATE:
кажется, что это похоже на работу, он разворачивает и может быть обеспечен при Т ->()
func updateUserDefaults<T>(data:(String, T)) {
if let value = data.1 as? Bool {
userDefaults.setBool(value, forKey: data.0)
} else if let value: AnyObject = data.1 as? AnyObject {
userDefaults.setObject(value, forKey: data.0)
}
userDefaults.synchronize()
}
Проблема в том, что этот метод будет называться form, который принимает (T) ->(), и я обновляю свой вопрос для этого. Но когда я пытаюсь развернуть мое свойство данных, я проверяю, есть ли его кортеж, поэтому мой вопрос остается. –