I document my Swift methods as follows:
/// 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
}
When I click on the method signature anywhere, Xcode displays a quick access bar with the information that I entered correctly.

However, when I start to enter the method signature and autocomplete, it does not display this information at the bottom of the autocomplete field, as is done for the Apple API.

Where in the syntax of comments am I mistaken?
source
share