コンパイル エラーが発生します。
error: convenience initializer missing a 'self' call to another initializer [-Werror,-Wobjc-designated-initializers]
コンパイル チェック済みの指定された初期化子は良いことかもしれませんが、今それを処理したくない場合は、どうすればこれをオフにできますか?
コンパイル エラーが発生します。
error: convenience initializer missing a 'self' call to another initializer [-Werror,-Wobjc-designated-initializers]
コンパイル チェック済みの指定された初期化子は良いことかもしれませんが、今それを処理したくない場合は、どうすればこれをオフにできますか?
あなたのプロジェクトでは:
-Wno-objc-designated-initializers
ます。これとファイルごとの組み合わせ、またはclang診断のプッシュとポップを組み合わせて実行することもでき-Wobjc-designated-initializers
ます(以下の@bandejapaisaの「方法3」の回答を参照)。
このメソッドを使用すると、Xcode 5 と 6 の間で前後に切り替えることができ、指定された初期化子のものを修正するためのリマインダーも提供されます。
iOS 開発の場合、これを.pch
(プリコンパイル済みヘッダー) ファイルに入れます。
#ifdef __IPHONE_8_0
// suppress these errors until we are ready to handle them
#pragma message "Ignoring designated initializer warnings"
#pragma clang diagnostic ignored "-Wobjc-designated-initializers"
#else
// temporarily define an empty NS_DESIGNATED_INITIALIZER so we can use now,
// will be ready for iOS8 SDK
#define NS_DESIGNATED_INITIALIZER
#endif
OS X 10.10のアナログはです。__IPHONE_8_0
__MAC_10_10
これらのメッセージが存在する理由に興味がある場合は、この SO 回答 またはこれらのApple docsを確認してください。