1. ホーム
  2. iphone

[解決済み] Objective-C 2.0でメソッドに非推奨のフラグを立てるにはどうすればよいですか?

2022-04-30 08:53:36

質問

私はかなり大規模なiPadアプリを開発しているチームの一員で、その結果、多くの異なるクラスが作成されました。 しかし、より良い(新しい)メソッドがあり、それを代わりに使用する必要があります(古いメソッドのいくつかは実際に新しいメソッドを呼び出しますが、クラス全体のインターフェイスは混乱しています)。

特定のメソッドを非推奨としてマークする方法はありますか(たとえば @deprecated はJavaで [Obsolete] .NETの場合)。

AppleはAvailability.hを使って、次のようなタグを持っていますね。

__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0);

...これは唯一の方法ですか(+これを行うにはApp Store安全ですか)、またはXcodeで警告をフラグする代替手段がありますか?

解決方法は?

非推奨の構文

メソッドを非推奨としてマークするための構文が用意されています。

@interface SomeClass
-method __attribute__((deprecated));
@end

または

#include <AvailabilityMacros.h>
@interface SomeClass
-method DEPRECATED_ATTRIBUTE;  // or some other deployment-target-specific macro
@end