необязательные параметры - PullRequest
1 голос
/ 20 августа 2010

Я взял (с разрешения авторов на сайте) класс-оболочку для записи запросов на выборку в мой стек основных данных.

Парень, который написал это, говорит, что у него есть "необязательные параметры", и я подумал, чтоэто означало.

В любом случае, статические методы пишутся так ...

+(NSMutableArray *) searchObjectsFromContext
    : (NSString*) entityName
    : (NSPredicate*) predicate
    : (NSString*) sortKey
    : (BOOL) sortAscending
    : (NSManagedObjectContext *) managedObjectContext

Я запускаю его и передаю ноль в ненужные параметры.Это правильная вещь?

Кроме того, имеет ли значение тот факт, что между двоеточиями нет дополнительного текста метода?

Спасибо за любую помощь

Оливер

Ответы [ 2 ]

3 голосов
/ 20 августа 2010

Невозможно сказать, правильно ли передавать 'nil', не читая документацию и не изучая исходный код.Это, вероятно, правильно, так как это стандартное поведение в большинстве классов.

Создание параметров метода без связанного текста (как вы видите в опубликованном коде) совершенно законно ... но это также совершенно уродливо, и вы теряетевсе преимущества многословия Obj-C.Нет абсолютно никакой причины писать такой код, он только усложняет использование ваших классов.

0 голосов
/ 20 августа 2010

Дополнительные параметры доступны в VB (и некоторых других языках), но не в C #.C # вынуждает вас перегружать функции.

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

РЕДАКТИРОВАТЬ: Я просто прочитал ваш тег iphone .... извините!Я не знаю, насколько уместен мой ответ для вас в этом отношении

...