Files
swift-mirror/stdlib/public/SDK/WatchKit/WatchKit.swift
Jordan Rose f42158b12e Revert "[Sema] ban multi-arguments to tuple coercion" (#3922)
It breaks cases where there really is a single unlabeled argument of tuple type, like this:

  let pairs = [(1, "A"), (2, "B")]
  print(pairs.map { $0.0 })
2016-08-01 19:22:19 -07:00

55 lines
1.9 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
@_exported import WatchKit
import Foundation
@available(iOS, introduced: 8.2)
extension WKInterfaceController {
@available(*, unavailable,
renamed: "reloadRootControllers(withNamesAndContexts:)")
@nonobjc final public class func reloadRootControllers(
_ namesAndContexts: [(name: String, context: AnyObject)]
) {
reloadRootControllers(withNamesAndContexts: namesAndContexts)
}
// Swift convenience type (class) method for
// reloadRootControllersWithNames:contexts: that takes an array of tuples
public class func reloadRootControllers(
withNamesAndContexts namesAndContexts: [(name: String, context: AnyObject)]
) {
WKInterfaceController.reloadRootControllers(
withNames: namesAndContexts.map { $0.name },
contexts: namesAndContexts.map { $0.context })
}
@available(*, deprecated,
renamed: "presentController(withNamesAndContexts:)")
@nonobjc final public func presentController(
_ namesAndContexts: [(name: String, context: AnyObject)]
) {
presentController(withNamesAndContexts: namesAndContexts)
}
// Swift convenience method for presentControllerWithNames:contexts: that
// takes an array of tuples
public func presentController(
withNamesAndContexts namesAndContexts: [(name: String, context: AnyObject)]
) {
self.presentController(
withNames: namesAndContexts.map { $0.name },
contexts: namesAndContexts.map { $0.context })
}
}