[解決済み] Obj-CでSwiftのEnumを使用することは可能ですか?
2022-04-24 01:31:14
質問
Obj-CのクラスのいくつかをSwiftに変換しようとしています。そして、他のいくつかのObj-Cクラスは、その変換されたクラスでまだenumを使用しています。私はプレリリースドックスで検索しましたが、それを見つけることができませんでした、または多分私はそれを逃しました。Obj-CクラスでSwiftのenumを使用する方法はありますか?または、この問題のドキュメントへのリンクはありますか?
これは、私の古いObj-Cコードと新しいSwiftコードで私がenumを宣言した方法です。
私の古いObj-Cコード。
typedef NS_ENUM(NSInteger, SomeEnum)
{
SomeEnumA,
SomeEnumB,
SomeEnumC
};
@interface SomeClass : NSObject
...
@end
私の新しいSwiftコードです。
enum SomeEnum: NSInteger
{
case A
case B
case C
};
class SomeClass: NSObject
{
...
}
更新しました。
回答より Swiftの1.2より古いバージョンではできない。しかし、この公式によると
Swiftブログ
. XCode 6.3 と共にリリースされた Swift 1.2 では、Swift Enum を Objective-C で使用することができます。
@objc
の前にある
enum
解決方法は?
Swiftバージョン1.2(Xcode 6.3)からは、できるようになりました。単に列挙型の宣言の前に
@objc
@objc enum Bear: Int {
case Black, Grizzly, Polar
}
恥ずかしながら スイフトブログ
<ブロッククオート注:これは、文字列列の列挙や、関連する値を持つ列挙には使えません。enumはInt-boundである必要があります。
Objective-Cでは、次のようになります。
Bear type = BearBlack;
switch (type) {
case BearBlack:
case BearGrizzly:
case BearPolar:
[self runLikeHell];
}
関連
-
[解決済み] Objective-Cでオブジェクトをキャストする方法
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] objcの "pi "と "M_PI "の違いは何ですか?
-
[解決済み] 開発者の身元が確認できないため開けない
-
[解決済み] NSStringをNSNumberに変換する方法
-
[解決済み] ブロック(__block)」というキーワードはどういう意味ですか?
-
[解決済み] NSStringにパーセント記号を追加する方法
-
[解決済み】Objective-Cでクラスレベルのプロパティを宣言するにはどうすればいいですか?
-
[解決済み】このブロックで自己を強く捉えると、リテインサイクルになりそうです。
-
[解決済み】NSStringが特定の文字で始まるかどうかを確認する方法
-
[解決済み】ARCで@autoreleasepoolがまだ必要なのはなぜですか?