Быстрая документация Комментарии

У меня есть несколько вопросов о комментариях документации Swift.

  • Есть ли какой-либо способ сделать раздел Связанные объявления, как некоторые из документации Apple. Например, когда я вариант + щелкните метод tablewView (_: heightForRowAtIndexPath:), он свяжет меня с тремя другими связанными методами в сгенерированной документации.

  • Есть ли какой-либо предупреждающий тег в swift? Я знаю, что в objective-c это позволило вам сделать @warning и получить полужирное предупреждение в создаваемой документации. Однако: предупреждение: ничего не делает в быстрых комментариях документации, поэтому мне было любопытно, есть ли другой способ.

  • Есть ли способ сделать вашу документацию в HTML файл, который аналогичен формату Apple Documentation. Я знаю, что в других IDE для других языков, таких как Eclipse, вы можете просто генерировать html-документацию для вашего кода. Есть ли у XCode это?

Ответы

Ответ 1

Вы можете использовать разметку для написания комментариев к игровой площадке и коду.

  • Для богатой игровой документации используйте //: или /*: */
  • Для документации кода используйте /// или /** */

пример

/// This function returns a *hello* string for a given 'subject'.
///
/// - Warning: The returned string is not localized.
///
/// Usage:
///
///     println(hello("Markdown")) // Hello, Markdown!
///
/// - Parameter subject: The subject to be welcomed.
///
/// - Returns: A hello string to the 'subject'.
func hello(subject: String) -> String {
    return "Hello, \(subject)!"
}

Ответы на ваши вопросы

Объявление. 1. Нет. Хотя есть SeeAlso разметки SeeAlso, он еще недостаточно умен, чтобы ссылаться на связанные символы внутри вашей или сторонней библиотеки.

Объявление. 2. Да, есть тег разметки Warning. Смотрите мой пример выше.

Объявление. 3. Хотя Xcode может генерировать XML-представление комментариев документации, он не может создавать HTML файл. Я рекомендую использовать Jazzy для этого.

Ответ 2

Xcode 7.0 beta 4

Обозначение было изменено (:param: больше не работает...)

/// Creates the string representation of the poo with requested size.
///
/// - warning: Be carefull! Poos can hurt.
/// - parameter size: requested size of the poo
/// - returns: string representation of the poo
func makePoo(size: String) -> String
{
    return "Ouch. This is \(size) poo!"
}

И это выглядит так:

PopUp с документацией

Вы можете использовать либо ///, либо /** */

Ответ 3

(3) Чтобы создать вашу документацию в HTML (или даже создать docset), я настоятельно рекомендую jazzy, который был создан для этой цели.

Даже если это еще WIP, он работает очень хорошо и создает документацию с похожим представлением в документации Apple

Ответ 4

Для кода Swift Apple удалила HeaderDoc и переключилась на стиль уценки. Они выбрали CommonMark вариант Markdown с некоторыми расширениями для ключевых слов Swift.

Документация по символам

Есть четыре раздела, из которых всегда включено только описание:

  • Описание
  • Параметры
  • Выдает
  • Возвращает

После описания порядок остальных разделов не имеет значения. У вас может быть только один раздел "Броски" и "Возврат".

/**
 What does this function do?

 Some discussion

 - Parameters:
    - firstParam: Describe the first param
    - secondParam: Describe the second param
 - Returns: true or false
 - Throws: SomeError you might want to catch
 */
func someFunction(firstParam: String, secondParam: String) throws -> Bool {
    return true;
}

или эквивалентный

/// What does this function do?
///
/// Some discussion
///
/// - Parameters:
/// - firstParam: Describe the first param
/// - secondParam: Describe the second param
/// - Returns: true or false
/// - Throws: SomeError you might want to catch
func someFunction(firstParam: String, secondParam: String) throws -> Bool {
    return true;
} 

Если комментарий к документации начинается с чего-либо, кроме абзаца, все его содержимое помещается в обсуждение.

Краткое руководство по ключевому слову

Если вы хотите, чтобы получить фантазию, есть длинный список ключевых слов, которые вы можете включить в любое место в описании.

- Attention: - Author: - Authors: - Bug: - Complexity: - Copyright:
- Date: - experiment: - important: - invariant: - Note: - Precondition:
- Postcondition: - Remark: - Requires: - seealso: - Since: - Todo: - Version:
- Warning: и т.д.

Чтобы автоматически сгенерировать документ:

  • Xcode 11: ⌘ command + нажмите на свою функцию → Добавить документацию
  • ⌘ command + ⌥ option + /
  • Editor -> Structure -> Add Documentation.

Эти команды добавляют /// в начале каждой новой строки. Также вы можете добавить вручную /** в качестве первой строки и */ в последней строке вашего документа.

Как создать HTML для Swift & Objective-C, пожалуйста, посмотрите на jazzy из Царства

Подробнее здесь, здесь

Ответ 5

Используйте следующие обозначения для комментариев документации.

/**
 This method sum two double numbers and returns.

 - parameter number1: First Double Number.
 - parameter number2: Second Double Number.
 - returns: The sum of two double numbers.

 # Notes: #
 1. Parameters must be **double** type
 2. Handle return type because it is optional.

 # Example #
'''
 if let sum = self.add(number1: 23, number2: 34) {
  print(sum)
 }
 '''
*/


func add(number1: Double, number2: Double) -> Double? {
    return number1 + number2
}

enter image description here