一般的に私はリスト内の位置を記述するために必要な宣言型の "union enum"型を作成するためにstd :: variantを使用しようとしています(UITableView/UICollectionView et.al) 。スウィフトはstd :: variantを使用してswifty objective-C++
これは私が何をする必要があるかを正確です:どちらか
enum Location {
case Header
case Footer
case Index(NSIndexPath)
}
マイAPIセクションの「ヘッダ」の位置(セクションと行0の任意の組み合わせ)、フッター(との組み合わせで呼び出すことができますセクションに応じて変化する動的な行番号)、または特定のインデックスパス。 C言語で
++私は、この動作を可能にstd::variant
http://en.cppreference.com/w/cpp/utility/variantがあると信じている:私は、Objective-Cでこれを実行する必要が
++が、コンパイルエラーに
enum class Location {
Header,
Footer
};
std::variant<Location,Index> location ; (NSIndexPath *)
を私は#include (or #import) <variant>
を含めるしようとすると、私は取得取得XCodeでvariant file not found
というコンパイラエラーが発生しました。
これを行う方法はありますか?
'std :: variant'は、使用しているコンパイラでサポートされていないC++ 17の機能です。 –
あなたがしたい場合は私はあなたの答えを受け入れるよ –