Swift方法文档 – 未在自动完成中显示


/// Extracts the server time from the API call response.
/// - parameter response: The HTTPURLResponse from which to extract the date.
/// - returns: The 'Date' header from the response, as a `Date` object.
/// - throws: If the 'Date' header is not found, or cannot be parsed to a `Date` object.
static func extractServerTimeFromResponse(_ response: HTTPURLResponse) throws -> Date {
    guard let serverTimeString = response.allHeaderFields["Date"] as? String else {
        throw RGOTimeSyncHelperError.invalidServerResponse
    let formatter = DateFormatter()
    formatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss zzz"
    guard let serverTime = formatter.date(from: serverTimeString) else {
        throw RGOTimeSyncHelperError.dateParsingError
    return serverTime

/// Calculates the offset of the local time compared to the server time.
/// - parameter serverTime: The time from the server.
/// - returns: The amount of seconds that need to be added to the client time, to match the server time.
static func calculateOffset(serverTime: Date) -> Int {
    let localTime = Date()
    let offset = Calendar.current.dateComponents([.second], from: localTime, to: serverTime).second!
    return offset

/// Add an offset in seconds to a given date.
/// - parameter date: The date to which to offset should be applied.
/// - parameter bySeconds: The offset, in seconds, that will be applied to the given date.
/// - returns: A new `Date` object, comprised of the given date, with the given offset applied.
static func offset(date: Date, bySeconds offset: Int) -> Date {
    let offsetDate = Calendar.current.date(byAdding: .second, value: offset, to: date)!
    return offsetDate



《Swift方法文档 – 未在自动完成中显示》


《Swift方法文档 – 未在自动完成中显示》


最佳答案 原因是Xcode从单独的doc-set解析popover中显示的文档,而不是从类文件本身解析.