Как я отмечаю функцию, как удержавшую от использования в заголовочном файле iOS Objective-C?

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

[DataMember(Name="SomeValue")]
private int m_SomeValue;

Однако могут быть некоторые проблемы полномочий, получающие доступ к членам парламента, не занимающим официального поста, в особенности на Silverlight и CF - в этом случае я рекомендовал бы использовать общественную собственность в качестве элемента данных. На самом деле я склонялся бы к всегда , используют свойство, если у меня не было очень серьезного основания...

40
задан Cœur 1 May 2019 в 11:17
поделиться

4 ответа

Попробуйте добавить атрибут в объявление вашего метода:

- (void)fooBar __attribute__ ((deprecated));

Взято из здесь .

61
ответ дан 27 November 2019 в 01:34
поделиться

Ответ Тима фактически вызовет предупреждение компилятора; другие версии представляют собой просто комментарии, не влияющие на компилятор.

Если вы посмотрите /usr/include/AvailabilityMacros.h, вы увидите, как Apple это делает. В этом заголовке используются __ атрибут __ ((устаревший)) и __ атрибут __ ((недоступен)) в зависимости от того, присутствует ли API, но является устаревшим или фактически был удален из ОС.

7
ответ дан 27 November 2019 в 01:34
поделиться

Из Apple SFAuthorization.h:

/*!
DEPRECATED: Use obtainWithRight:flags:error:
@method permitWithRight:flags:
@abstract Call permitWithRight to gain a right to have
          access to a privilege operation.
@param rightName The name of an authorization right.
@param flags Authorization flags.
*/
- (OSStatus)permitWithRight:(AuthorizationString)rightName
                      flags:(AuthorizationFlags)flags;

Если вы не используете автоматизированный конструктор документации, я ' Я бы сказал, что достаточно этого:

- (void)doSomething;           /* DEPRECATED */
2
ответ дан 27 November 2019 в 01:34
поделиться

You could also follow the HeaderDoc manual. Where this syntax is used:

/*!
 * @abstract Foo is good for bar.
 *
 * @deprecated in version 2.0
 */
2
ответ дан 27 November 2019 в 01:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: