Objective-Cにおけるenumの前方排他的宣言
2023-08-11 19:49:55
質問
Objective-Cのプログラムで、enumの可視性に問題があります。2つのヘッダーファイルがあり、1つは
typedef enum
. もう一つのファイルでは
typedef
'd タイプを使用する必要があります。
ストレートCでは、単純に
#include
というヘッダファイルを作成しますが、Objective-Cでは、このヘッダファイルに
#import
を使用しないことを推奨します。その代わり、ヘッダーファイル間で前方の
@class
を使用します。しかし、列挙型を前方に宣言する方法を見つけ出すことができません。
実際の列挙された値は必要ないのですが、対応する
.m
実装ファイルでは、安全に
#import
を離れています。では、どうすれば
typedef enum
をヘッダーで認識させるにはどうしたらよいでしょうか?
どのように解決するのですか?
objective-cでenum(NS_ENUM/NS_OPTION)を前方宣言する最も新しい方法(Swift 3; 2017年5月)は、次のようになります。
// Forward declaration for XYZCharacterType in other header say XYZCharacter.h
typedef NS_ENUM(NSUInteger, XYZCharacterType);
// Enum declaration header: "XYZEnumType.h"
#ifndef XYZCharacterType_h
#define XYZCharacterType_h
typedef NS_ENUM(NSUInteger, XYZEnumType) {
XYZCharacterTypeNotSet,
XYZCharacterTypeAgent,
XYZCharacterTypeKiller,
};
#endif /* XYZCharacterType_h */`
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
-
[解決済み] Objective-CでQueueを作成し、使用するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] C++でenumを前方に宣言する
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] Objective-Cで配列に結合する
-
[解決済み] 複数のサブクラスで1つのストーリーボードuiviewcontrollerを使用する方法
-
[解決済み] Objective-CでNSArrayを新しいNSArrayにフィルタリングする。
-
[解決済み] Objective-Cでコールバックを実行する方法
-
[解決済み] メソッドが存在するかどうかをチェックする
-
[解決済み] Objective-Cでオブジェクトのプロパティリストを取得する
-
[解決済み] 宣言されたプロパティは、対応するインスタンス変数を必要としますか?
-
[解決済み] Objective-CのReadonlyプロパティ?