Каково определение метода удобства в отношении цели C? - PullRequest
8 голосов
/ 23 февраля 2011

В большинстве языков, с которыми я имел дело, один из них называется вспомогательным методом, это означает, что метод выполняет небольшую задачу, которая выполняется очень часто, и поэтому более удобно использовать этот метод ..

В Objective-C верно ли это определение?Или он обычно используется только для описания методов класса, которые возвращают предварительно созданный объект?ех.[NSString stringWithContentsOfFile: ...]

Это просто предпочтение или есть какое-то точное и быстрое определение для этих терминов?

Cheers, Stefan

Ответы [ 2 ]

9 голосов
/ 23 февраля 2011

То, о чем вы говорите, на самом деле является более конкретным «конструктором удобства» в Objective C. (Обратите внимание, что это на самом деле не конструктор в смысле C ++ / Java / C #, это на самом деле метод инициализатора объекта / фабрики, но кажется,быть соглашением называть «конструкторы удобства»).«Удобные конструкторы» в Obj C - это соглашение или шаблон для создания метода конструктор / инициализатор / фабрика для класса, который принимает определенные параметры.Этот шаблон также имеет некоторые специальные соглашения, которым вы должны следовать (например, автоматическое высвобождение нового объекта в конструкторе), чтобы ваши пользовательские классы хорошо вписывались во встроенные типы.

См. Эту страницу (немногопуть вниз) для получения дополнительной информации: http://macdevcenter.com/pub/a/mac/2001/07/27/cocoa.html?page=3

Что касается «удобного метода», этот конкретный термин не имеет никакого особого значения в Objective C. Вы можете создать любой тип удобного метода в Obj C, инет никаких ожиданий относительно того, что он должен или не должен делать.Это только «удобный конструктор», который имеет особое значение.

4 голосов
/ 23 февраля 2011

Насколько я знаю, «удобный метод» означает в основном то, что вы определили здесь, чтобы обозначить его: один метод или функцию, которая заменяет более сложную серию вызовов из-за частоты использования.

ВObjective-C, «обычный» способ создания нового экземпляра - что-то вроде NSSomething * mySomething = [[[NSSomething alloc] initWithParam:... andParam:...] autorelease].Многие классы предоставляют удобные конструкторы, которые упрощают эти три шага (фактически, в большинстве случаев они, вероятно, буквально делают одно и то же, но заключены в вызов метода класса).

...