Все функции, которые вы упомянули, должны быть реализованы как методы экземпляра.
Например:
Операция, которая определяет ограничивающий прямоугольник, использует только данные экземпляра (вершины многоугольника), поэтому она должна быть реализована как метод экземпляра.
- (NSRect)calculateBoundingBox;
Я не совсем уверен в том, чтобы "превратить поли в треугольники", потому что вы можете освободить многоугольник после его преобразования. Так что этот класс не будет автономным. Вы можете реализовать «преобразование полигона в треугольник» в методе класса или в отдельном контроллере.
Здесь вы можете узнать больше о методах экземпляра и класса: Цель обучения C: Учебник для начинающих (в разделе «Методы и обмен сообщениями»)
Некоторые сценарии, в которых я бы использовал методы класса, статические функции или #defines вместо методов экземпляра:
- Функции для инициализации структур (например,
NSMakeRect, ...)
- Короткие фрагменты, которые я часто использую
(как правило, некоторые математические ярлыки
определяет)
- Заводские методы для создания
экземпляры