Всякий раз, когда вы не можете найти документы на developer.apple.com или в средстве просмотра документации Xcode, проверьте заголовки фреймворка или интерфейс Swift - у них часто есть комментарии к коду, которые могут по крайней мере служить приблизительной формой документации.
В Xcode, используйте Open Quickly (⌘⇧O) и введите название заголовка, о котором идет речь (MDLMesh.h
) или один из символов внутри него (MDLMesh, makeVerticesUnique, etc
).Или ⌘ щелкните один из этих символов в источнике и выберите «Перейти к определению».(Если в этот момент вы попадаете в заголовок Objective-C и хотите увидеть версию Swift, выберите «Сгенерированный интерфейс» в меню связанных элементов в верхней части файла.)
В этом случае вы 'Вы увидите, что оба метода эквивалентны в использовании (но для способности нового метода генерировать ошибки):
/*!
@method makeVerticesUnique:
@abstract Deindexes the vertex array
@discussion If any vertices are shared on multiple faces, duplicate those
vertices so faces do not share vertices. The vertex buffer and index
buffers on submeshes may grow to accomadate any vertices added.
*/
@available(OSX, introduced: 10.11, deprecated: 10.13)
open func makeVerticesUnique()
/*!
@method makeVerticesUniqueAndReturnError:
@abstract Deindexes the vertex array
@discussion If any vertices are shared on multiple faces, duplicate those
vertices so faces do not share vertices. The vertex buffer and index
buffers on submeshes may grow to accomadate any vertices added.
*/
@available(OSX 10.13, *)
open func makeVerticesUniqueAndReturnError() throws
Предположительно Apple определила, что оригинальный метод не обрабатывал сбои изящно (остановка с фатальной ошибкой)«сбой», выдающий плохой вывод (не знаю) и решил, что было бы лучше сообщить вызывающим абонентам, когда что-то пойдет не так.